2011-09-07 76 views
2

編譯peopledetect.cpp去就好了,但是當我嘗試運行程序,它崩潰在該行OpenCV的人檢測樣品崩潰

hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector()); 

錯誤消息:在openCV.exe 0x74a9ae7a 未處理的異常:0xC0000005:訪問衝突寫入位置0x00000000。

調用堆棧:

msvcr90.dll!74a9ae7a() 
opencv_objdetect231.dll!6dbfe397() 
openCV.exe!main() Line 27 + 0x49 bytes 
openCV.exe!__tmainCRTStartup() Line 555 + 0x19 bytes 
openCV.exe!mainCRTStartup() Line 371 
kernel32.dll!74f63677()  
ntdll.dll!77319d72()  
ntdll.dll!77319d45()  

在互聯網上四處潛伏後,我找不到任何東西,知道的任何幫助。

+0

這裏仍然存在同樣的問題。 – IDWMaster

回答

2

它在OS X下工作。某物試圖訪問空指針。試着用

static vector<float> detector = HOGDescriptor::getDefaultPeopleDetector(); 
if (!detector.size()) { 
    fprintf(stderr, "ERROR: getDefaultPeopleDetector returned NULL\n"); 
    return -1;  
} 
hog.setSVMDetector(detector); 

更換

hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector()); 

看錯誤是否在getDefaultPeopleDetectorhog.setSVMDetector發生。這可能有助於縮小問題的範圍。

+0

對我來說,它在:getDefaultPeopleDetector – Mayank