initializeObject

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

Установите объект отследить

Описание

initializeObject(hbtracker,I,R) устанавливает объект отследить путем извлечения его из [x y высота ширины] область R расположенный в 2D входном изображении, I. Входное изображение, I, может быть любая 2D карта функции, которая отличает объект от фона. Например, изображение может быть каналом оттенка 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);

Отследите и отобразите объект в каждом видеокадре. Цикл с условием продолжения читает каждый фрейм изображения, преобразует изображение в 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 объект.

Видеокадр в виде полутонового или истинного цвета (RGB).

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

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

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