Сбой fopen после изменения приложения консоли на приложение Windows - PullRequest
0 голосов
/ 08 сентября 2011

Я использую OpenCV 2.3.1 в Windows XP Professional с Visual Studio 10 (Ultimate), и у меня возникают проблемы с открытием каскадных файлов.

Соответствующий код следующий:

String face_cascade_name = "haarcascade_frontalface_alt.xml";

CascadeClassifier face_cascade;

if( !face_cascade.load( face_cascade_name ) ){ message(TEXT("--(!)Error loading face\n"));

Я проверяю правильность текущего каталога, используя GetCurrentDirectory() и XML-файл содержится в этом каталоге.

Самое смешное, что программа работает правильно, когда я компилирую и запускаю ее в Консольный режим , но я получаю сообщение об ошибке «Ошибка загрузки лица» при запуске под Режим Win32 (без консоли).

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 14 сентября 2011

Согласно документации OpenCV объект CascadeClassification имеет метод load со следующим прототипом:

bool CascadeClassifier::load(const string& filename)

но вы кормите его String. Из вашего комментария видно, что он просто добавил значение указателя к строке каталога. Попробуйте дать ему правильный тип аргумента. а именно:

string face_cascade_name("haarcascade_frontalface_alt.xml");
if( !face_cascade.load(face_cascade_name) { ... }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...