我尝试在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'.
请帮忙。
答案 0 :(得分:1)
函数insertObjectAnnotation在R2012b中被引入Matlab。它不适用于matlab R2012a
答案 1 :(得分:0)
问题是videoFrame
的类型为single
,它不是有效的输入类型。大多数matlab函数都希望它们的输入类型为double
。尝试将videoFrame
投射到double
:
ideoOut = insertObjectAnnotation( double(videoFrame), 'rectangle', bbox, 'Face');
答案 2 :(得分:0)
insertObjectAnnotation适用于计算机视觉系统工具箱下的windows environtment。它在ubuntu中不起作用。
答案 3 :(得分:0)
R2012a中不存在函数insertObjectAnnotation
。它被添加到R2012b中。如果您仍然使用R2012a,则可以使用vision.ShapeInserter
和vision.TextInserter
系统对象来注释图像。它们不如insertObjectAnnotation
那么方便,但它们可以完成这项工作。