matlab中未定义函数'insertObjectAnnotation'中的错误

时间:2012-12-13 20:08:43

标签: matlab matlab-cvst

我尝试在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'.

请帮忙。

4 个答案:

答案 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.ShapeInsertervision.TextInserter系统对象来注释图像。它们不如insertObjectAnnotation那么方便,但它们可以完成这项工作。