未定义函数中出错';插入对象注释';在matlab中

未定义函数中出错';插入对象注释';在matlab中,matlab,matlab-cvst,Matlab,Matlab Cvst,我尝试在matlab中应用人脸检测和跟踪代码,但不幸的是,这个错误提示了我 我使用MatlabR2012A 这是我试过的代码 faceDetector = vision.CascadeObjectDetector(); videoFileReader = vision.VideoFileReader('visionface.avi'); videoFrame = step(videoFileReader); bbox = step(faceDetector, vi

我尝试在matlab中应用人脸检测和跟踪代码,但不幸的是,这个错误提示了我

我使用MatlabR2012A

这是我试过的代码

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'.

请提供帮助。

问题在于
视频帧
的类型为
单一
,这不是有效的输入类型。大多数matlab函数期望其输入类型为
double
。尝试将
视频帧
转换为
双音

ideoOut = insertObjectAnnotation( double(videoFrame), 'rectangle', bbox, 'Face');

insertObjectAnnotation在计算机视觉系统工具箱下为windows环境工作。它在ubuntu中不工作。

函数insertObjectAnnotation是在R2012b中引入Matlab的。它不适用于matlab R2012a

R2012a中不存在函数
InsertObject Annotation
。它是在R2012b中添加的。如果您还有R2012a,则可以使用
vision.ShapeInserter
vision.textinerter
系统对象为图像添加注释。它们不像插入对象注释那样方便,但它们将完成这项工作。

在命令提示符中输入
谁的视频帧
,并在“类”下报告它所说的内容。我这样做,它在“类”下显示“单一”!接下来,在命令提示下尝试
哪个insertObjectAnnotation
。这将检查函数是否确实存在于Matlab可以找到它的路径上。亲爱的Salam,您是否找到了问题的解决方案。我也有同样的问题。你好,斯莱顿,我也有同样的问题。当我使用double(videoFrame)时,它为类型为“double”的输入参数提供错误-未定义的函数“insertObjectAnnotation”。您能帮忙吗?R2012b中添加了一个新问题insertObjectAnnotation,它适用于single和double。假设您有R2012b或更高版本,它也适用于Linux。