exponenta event banner

initializeObject

Системный объект: зрение. 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 = скругление (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).

Начальное окно поиска, указанное в формате [x y width height].

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

Представлен в R2012a