initialize

Инициализируйте видеокадр и точки, чтобы отследить

Описание

пример

initialize(pointTracker,points,I) инициализирует точки, чтобы отследить и устанавливает начальный видеокадр. Функция устанавливает M-by-2 points массив [x y] координирует с точками, чтобы отследить и устанавливает начальный видеокадр, I.

Если вы хотите использовать средство отслеживания точки в качестве персистентной переменной, необходимо вызвать initialize только во время создания. Если вы вызываете initialize в цикле предыдущее состояние потеряно и поэтому, средство отслеживания не может обеспечить отслеживание.

Примеры

свернуть все

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

videoFileReader = vision.VideoFileReader('visionface.avi');
videoPlayer = vision.VideoPlayer('Position',[100,100,680,520]);

Считайте первый видеокадр, который содержит объект, задайте область.

objectFrame = videoFileReader();
objectRegion = [264,122,93,93];

Как альтернатива, можно использовать следующие команды, чтобы выбрать объектную область с помощью мыши. Объект должен занять большинство области:

фигура; imshow (objectFrame);

objectRegion=round (getPosition (imrect))

Покажите начальную систему координат с красной ограничительной рамкой.

objectImage = insertShape(objectFrame,'Rectangle',objectRegion,'Color','red');
figure;
imshow(objectImage);
title('Red box shows object region');

Обнаружьте точки интереса в объектной области.

points = detectMinEigenFeatures(rgb2gray(objectFrame),'ROI',objectRegion);

Отобразите обнаруженные точки.

pointImage = insertMarker(objectFrame,points.Location,'+','Color','white');
figure;
imshow(pointImage);
title('Detected interest points');

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

tracker = vision.PointTracker('MaxBidirectionalError',1);

Инициализируйте средство отслеживания.

initialize(tracker,points.Location,objectFrame);

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

while ~isDone(videoFileReader)
      frame = videoFileReader();
      [points,validity] = tracker(frame);
      out = insertMarker(frame,points(validity, :),'+');
      videoPlayer(out);
end

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

release(videoPlayer);
release(videoFileReader);

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

свернуть все

Укажите средство отслеживания, заданное как vision.PointTracker объект.

Точки, заданные как M-by-2 массив [x y] координаты, которые соответствуют местоположениям точек во входном кадре, I.

Видеокадр, заданный как полутоновый или истинный цвет (RGB) и, должен быть одного размера с чтением изображений в средство отслеживания.

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