Как загрузить XML-файл каскада в openCV 2.3.1 - PullRequest
2 голосов
/ 20 января 2012

Я пытаюсь применить приложение определения лица в Visual Studio 2010 с использованием библиотеки C ++ и OpenCV 2.3.1 Итак, я объявляю тип String и инициализирую:

String face_cascade_name = "haarcascade_frontalface_alt.xml";

Далее я создаю объект класса CascadeClassifier:

CascadeClassifier face_cascade;

И загружаю каскад:

if (! Face_cascade.load (face_cascade_name)) {printf ("- (!) Ошибка загрузки \ n");возврат -1;};

Проект заполнен и отлажен без проблем, но когда я запускаю приложение и приложение, попробуйте загрузить аварийный сбой программы!

И я вижу это сообщение: Программа '[1288]OpenCV2.0.exe: исходный файл 'завершен с кодом -1 (0xffffffff).

Ответы [ 3 ]

2 голосов
/ 22 февраля 2012

У меня была такая же проблема с CascadeClassifier и FileStorage.

Например, если вы попробуете это:

FileStorage fs(xml_fname, FileStorage::READ);
if (!fs.isOpened())
{
    cout<<"can not read xml"<<endl;
}

Возможно, это не сработает.

В моем случае я перешел в VC ++ из режима отладки в режим выпуска, указал .lib файлы без d в конце (например, opencv_core231.lib), и теперь он работает.

1 голос
/ 06 февраля 2014

В моем случае (OSX 10.9) я ввожу весь путь вместо простого "haarcascade_frontalface_alt.xml", например "/Users/xxx/Desktop/opencv-2.4.7/data/haarcascades/haarcascade_frontalface_alt.xml".Удачи

0 голосов
/ 11 марта 2013

В моем случае (win7 64, VS 10 express) изменение разрешения для файлов xml решило проблему, я добавил всех с полным контролем, и это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...