ошибка в неопределенной функции 'insertObjectAnnotation' в Matlab

я пытаюсь применить код для обнаружения и отслеживания лиц в Matlab, но, к сожалению, эта ошибка вызвала

Я использую матлаб R2012a

это код, который я пробовал

faceDetector = vision.CascadeObjectDetector();
videoFileReader = vision.VideoFileReader('visionface.avi');
videoFrame      = step(videoFileReader);
bbox            = step(faceDetector, videoFrame);
videoOut = insertObjectAnnotation(videoFrame,'rectangle',bbox,'Face');

и это ошибка:

Undefined function 'insertObjectAnnotation' for input
arguments of type 'single'.

пожалуйста помоги .


person M.A.Salam    schedule 13.12.2012    source источник
comment
Введите whos videoFrame в командную строку и сообщите, что он говорит в разделе «Класс».   -  person jerad    schedule 14.12.2012
comment
я делаю это, а в разделе «Класс» написано «одиночка»!   -  person M.A.Salam    schedule 14.12.2012
comment
Затем попробуйте which insertObjectAnnotation в командной строке. Это проверяет, действительно ли функция существует на пути, по которому Matlab может ее найти.   -  person Colin T Bowers    schedule 14.12.2012
comment
Уважаемый Салам, вы нашли решение проблемы? У меня такая же проблема. пожалуйста помоги.   -  person MMH    schedule 19.03.2013


Ответы (4)


Функция insertObjectAnnotation была введена в Matlab в R2012b. он недоступен для Matlab R2012a

person Caner Balım    schedule 17.09.2013

Проблема в том, что videoFrame имеет тип single, который не является допустимым типом ввода. Большинство функций Matlab ожидают, что их входные данные будут иметь тип double. Попробуйте преобразовать videoFrame в double:

ideoOut = insertObjectAnnotation( double(videoFrame), 'rectangle', bbox, 'Face');
person slayton    schedule 14.12.2012
comment
Привет Слейтон, у меня такая же проблема. Когда я использую double (videoFrame), он выдает функцию error- Undefined «insertObjectAnnotation» для входных аргументов типа «double». не могли бы вы помочь - person MMH; 19.03.2013
comment
вот новый вопрос stackoverflow.com/questions/15540160/ - person MMH; 21.03.2013
comment
InsertObjectAnnotation была добавлена ​​в R2012b и работает для одинарных и двойных. - person Dima; 17.10.2013

insertObjectAnnotation работает для среды Windows в панели инструментов системы компьютерного зрения. В убунте не работает.

person Surya    schedule 30.01.2013
comment
Это должно работать и для Linux, если у вас есть R2012b или новее. - person Dima; 17.10.2013

Функция insertObjectAnnotation не существовала в R2012a. Он был добавлен в R2012b. Если у вас все еще есть R2012a, вы можете использовать системные объекты vision.ShapeInserter и vision.TextInserter для аннотирования изображения. Они не так удобны, как insertObjectAnnotation, но со своей задачей справятся.

person Dima    schedule 17.10.2013