2013-02-25 87 views
-3

我正在使用代碼cascade classifier for face detection(有時也包含其他代碼)。但是,該程序將終止在該行:未處理的人臉檢測異常

face_cascade.detectMultiScale(
    frame_gray, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30)); 
size(30,30);

基本。它給出的錯誤是「未處理的異常」,並進一步在「opencv_objdetectd.dll」。我在網上搜索過,但一直沒能找到類似的問題或解決方案。我很感激任何幫助,因爲我現在已經堅持了很多天。

+0

您必須提供更多的代碼才能幫助您。 – rossb83 2013-02-25 13:25:25

+0

這裏是鏈接到代碼。我沒有改變任何東西 http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html – argo 2013-02-25 13:40:28

+0

如果這是Size(30,30)的問題,你可以嘗試將它移動到它自己的線。不過,我認爲這是一個普通的結構,這意味着它在內存分配上崩潰,這可能意味着你在某個早期點寫過內存。 – dutt 2013-02-25 13:48:40

回答

0

'未處理的異常'永遠不會來自opencv代碼庫。

這個問題可能不是代碼,但其他的,如在發佈模式或其他方式使用調試DLL,錯誤的32/64位dll,等等。

我只是不相信你,大小(30,30)是問題。嘗試:

face_cascade.detectMultiScale(frame_gray, faces); //還有一個供休息

級聯檢測默認ARGS經常失敗爲2倍的原因之一:

  1. 沒有找到哈爾級聯。檢查一下。

    如果(!face_cascade.load( 「bla.xml」)){ // 錯誤 }

  2. 你的形象是無效

    如果(frame_gray.empty()){ // error }

+0

m確定版本是正確的bcz以前使用過輪廓發現庫。可以請你提到的DLL或其他要求s.may是我失去了一些東西。我已經使用 imageproc,highgui,core,objdetect ..所有調試版本從X86,vc10文件夾... – argo 2013-02-26 03:19:22