Я работаю над приложением, которое требует обнаружения объекта OpenCV с использованием каскадного классификатора Хаара. Я использую OpenCV 2.3.1 с VS2010 на 64-битной Windows-машине. Я скомпилировал и создал OpenCV самостоятельно и не использовал никаких предварительно скомпилированных двоичных файлов.OpenCV сталкивается пример не будет загружать каскадный классификатор xml
Во-первых, я хотел начать вмешаться с примером сталкиваются.tp.pp, который включен в OpenCV. Я построил его без ошибок, но когда я пытаюсь запустить его, он не откроет XML-файл cascade classifier (функция CascadeClassifier.load() возвращает false). Я ничего не менял из исходного кода.
Я использую XML-файл, который распространяется вместе с OpenCV, поэтому проблема не в файле 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