initializeObject

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

Синтаксис

initializeObject(hbtracker,I,R)
initializeObject(hbtracker,I,R,N)

Описание

пример

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

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

Примеры

свернуть все

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

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

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

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

objectFrame = videoFileReader();
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 ~isDone(videoFileReader)
  frame = videoFileReader();
  hsv = rgb2hsv(frame);
  bbox = tracker(hsv(:,:,1));

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

Выпустите видео читателя и проигрыватель.

release(videoPlayer);
release(videoFileReader);

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

свернуть все

Основанное на гистограмме средство отслеживания, заданное как объект vision.HistogramBasedTracker.

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

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

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

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

Для просмотра документации необходимо авторизоваться на сайте