initializeObject

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

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

Описание

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

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

Описание

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