initializeObject

Системный объект: vision. HistogramBasedTracker
Пакет: видение

Установите объект на трекинг

Описание

initializeObject(hbtracker,I,R) устанавливает объект для отслеживания путем извлечения его из области [x y width height] R расположен в 2-D входном изображении, I. Изображение входа, I, может быть любой 2-D карты функций, которая отличает объект от фона. Для примера изображение может быть каналом оттенка цветового пространства HSV. Как правило, I будет первой системой координат, в котором объект появится. Область, R, также используется для начального окна поиска, при следующем вызове step способ. Для наилучших результатов объект должен занимать большинство области, R.

initializeObject(hbtracker,I,R,N) кроме того, можно задать N, количество интервалов гистограммы.

Примеры

расширить все

Отследите и отобразите лицо в каждой системе координат входного видео.

Создайте системные объекты для чтения и отображения видео и для рисования ограничивающего прямоугольника объекта.

videoReader = VideoReader('vipcolorsegmentation.avi');
videoPlayer = vision.VideoPlayer();
shapeInserter = vision.ShapeInserter('BorderColor','Custom', ...
    'CustomBorderColor',[1 0 0]);

Прочтите первый видеокадр, который содержит объект. Преобразуйте изображение в цветовое пространство HSV. Затем определите и отобразите область объекта.

objectFrame = im2single(readFrame(videoReader));
objectHSV = rgb2hsv(objectFrame);
objectRegion = [40, 45, 25, 25];
objectImage = shapeInserter(objectFrame, objectRegion);

figure
imshow(objectImage)
title('Red box shows object region')

(Вы можете выбрать область объекта при помощи мыши. Объект должен занимать большинство области. Используйте следующую команду.)

рисунок; imshow (objectFrame); objectRegion = round (getPosition (imrect))

Установите объект на основе канала оттенка первого видеокадра.

tracker = vision.HistogramBasedTracker;
initializeObject(tracker, objectHSV(:,:,1) , objectRegion);

Отследите и отобразите объект в каждом видеокадре. Цикл while считывает каждую систему координат изображения, преобразует изображение в цветовое пространство HSV, затем отслеживает объект в канале оттенка, где он отличается от фона. Наконец, в примере рисуется рамка вокруг объекта и отображаются результаты.

while hasFrame(videoReader)
  frame = im2single(readFrame(videoReader));
  hsv = rgb2hsv(frame);
  bbox = tracker(hsv(:,:,1));

  out = shapeInserter(frame,bbox);
  videoPlayer(out);
end

Отпустите видеоплеер.

release(videoPlayer);

Входные параметры

расширить все

Трекер на основе гистограмм, заданный как vision.HistogramBasedTracker объект.

Видеокадр, заданный как полутоновый или truecolor (RGB).

Начальное окно поиска, определенное в формате [<reservedrangesplaceholder3> <reservedrangesplaceholder2> <reservedrangesplaceholder1> <reservedrangesplaceholder0> ].

Количество интервалов гистограммы, заданное в виде целого числа. Увеличение количества интервалов увеличивает способность трекера различать объект. Однако этот подход также сужает область значений изменений визуальных характеристик объекта, которые может вместить трекер. Следовательно, эта узкая область значений увеличивает вероятность потери дорожки.

Введенный в R2012a