我正在研究需要使用Haar級聯分類器進行OpenCV對象檢測的應用程序。 我在64位Windows機器上使用OpenCV 2.3.1和VS2010。 我自己編譯和構建OpenCV,並沒有使用任何預編譯的二進制文件。OpenCV facedetect示例不會加載級聯分類器xml
首先,我想開始插手OpenCV中包含的示例facedetect.cpp。 我沒有錯誤地構建它,但是當我嘗試運行時它不會打開級聯分類器xml文件(CascadeClassifier.load()函數返回false)。我沒有從示例源代碼中更改任何內容。
我正在使用與OpenCV一起發佈的xml文件,所以問題不在xml文件中。 我也確保應用程序可以使用簡單的fopen訪問和讀取文件。
我相信(但不確定)問題似乎是級聯分類器是「舊」類型。 但是在OpenCV文檔中,它特別暗示新的CascadeClassifier對象可以打開「舊」和「新」級聯分類器。
這裏有一個鏈接:http://opencv.itseez.com/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-load
我即使使用預編譯的二進制OpenCV2.2嘗試,它做工精良與XML。然後我嘗試編譯2.2示例源代碼,並再次無法加載xml。
我知道我可以嘗試使用舊對象CvHaarClassifierCascade,但我更喜歡使用最新版本的OpenCV及其對象。
有沒有人有線索我做錯了什麼?
它爲我工作 – Srinivas