2015-12-28 2 views
0

У меня есть следующий код;Opencv HOG Runtime Exception

EducateHOG(string file){ 
    Mat image = imread(file); 
    vector <float> desc; 
    vector <Point> locs; 

    resize(image, image, Size(64,48)); 
    cvtColor(image, image, CV_BGR2GRAY); 
    HogDescriptor hog(Size(32,16), Size(8,8), Size(4,4), Size(4,4), 9); 
    hog.compute(image, desc, Size(0,0), Size(0,0), lots); //This cause error 
} 

Он просто читает простое изображение с автомобилем в нем, но hog.compute (...) вызывает ошибку во время выполнения, как показано ниже:

Exception thrown at 0x00007FF... (msvcr120.dll) .... Access violating writing location 0x0000258.... 

Я использую Visual Studio 2015 с OpenCV библиотекой на Win 10. Я не мог найти причину этой ошибки.

+0

У меня есть другие коды, работающие с библиотеками OpenCv (HOG не используется). Поэтому я не думаю, что это связано с интеграцией OpenCv. Он работает нормально. –

+1

msvcr120.dll несовместим с Visual Studio 2015 – sturkmen

+0

Так как я могу это исправить. Я даже не сказал это конкретно. –

ответ

0

В свойствах проекта, где вы связываете библиотеку Opencv. В linker -> Input -> Aditional dependencies убедитесь, что в конфигурации отладки у вас есть только opencv _ ** 300d.lib (каждый lib, где находится «D»). У меня было и то, что без opencv_ts300.lib, и он построил нормально. Но при запуске в отладке он выкидывает это исключение на .hog.compute

Смежные вопросы