【问题标题】:error in Undefined function 'insertObjectAnnotation' in matlabmatlab中未定义函数'insertObjectAnnotation'中的错误
【发布时间】:2012-12-13 20:08:43
【问题描述】:

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

请帮忙。

【问题讨论】:

  • 在命令提示符中输入whos videoFrame 并在“类”下报告它所说的内容。
  • 我做到了,它在“班级”下显示“单身”!
  • 接下来,在命令提示符下尝试which insertObjectAnnotation。这将检查该函数是否确实存在于 Matlab 可以找到它的路径上。
  • 亲爱的 Salam,您找到解决问题的方法了吗?我有同样的问题。请帮忙。

标签: matlab matlab-cvst


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    问题在于videoFrame 的类型为single,它不是有效的输入类型。大多数 matlab 函数期望它们的输入是double 类型。尝试将videoFrame 转换为double

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

    【讨论】:

    • 嗨,Slayton,我遇到了同样的问题。当我使用 double(videoFrame) 时,它会为“double”类型的输入参数提供错误 - 未定义函数“insertObjectAnnotation”。你能帮忙吗
    • insertObjectAnnotation 是在 R2012b 中添加的,它适用于单双。
    【解决方案3】:

    insertObjectAnnotation 适用于计算机视觉系统工具箱下的 windows 环境。它在 ubuntu 中不起作用。

    【讨论】:

    • 它应该也适用于 Linux,假设您有 R2012b 或更高版本。
    【解决方案4】:

    函数 insertObjectAnnotation 在 R2012a 中不存在。它是在 R2012b 中添加的。如果您还有 R2012a,您可以使用 vision.ShapeInsertervision.TextInserter 系统对象来注释您的图像。它们不像insertObjectAnnotation 那样方便,但它们可以胜任。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-22
      • 1970-01-01
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多