2012-12-13 49 views
4

未定義功能「insertObjectAnnotation」我嘗試申請進行人臉檢測代碼,並在MATLAB跟蹤可惜這個錯誤提示了錯誤在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'. 

請幫助。

+1

在命令提示符中輸入'whos videoFrame'並報告「Class」下的內容。 – jerad

+0

我這樣做,它說'類'下的'單'! –

+1

接下來,在命令提示符處嘗試「哪個insertObjectAnnotation」。這檢查函數實際存在於Matlab可以找到它的路徑上。 –

回答

0

問題是videoFrame的類型是single這不是有效的輸入類型。大多數matlab函數期望他們的輸入是double。嘗試鑄造videoFramedouble

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

HI Slayton,我遇到同樣的問題。當我使用double(videoFrame)時,它給出錯誤 - 未定義的函數'insertObjectAnnotation'用於輸入 類型爲'double'的參數。你可以請幫忙 – MMH

+0

@MMH,問一個新問題 – slayton

+0

這裏是一個新問題http://stackoverflow.com/questions/15540160/undefined-function-insertobjectannotation-in-matlab – MMH

0

insertObjectAnnotation正在爲下計算機視覺系統工具箱environtment窗口。它在Ubuntu中不起作用。

+0

它應該也適用於Linux,假設你有R2012b或更高版本。 – Dima

1

函數insertObjectAnnotation在R2012b中引入Matlab。它不適用於matlab R2012a

0

函數insertObjectAnnotation在R2012a中不存在。它被添加到R2012b中。如果您仍然有R2012a,則可以使用vision.ShapeInsertervision.TextInserter系統對象來註釋您的圖像。他們不像insertObjectAnnotation那麼方便,但他們會完成這項工作。