Установка OpenCV 2.4.5 на Visual Studio 2008

У меня возникли некоторые трудности при попытке использовать OpenCV с Visual Studio 2008 (Professional Edition). Я верюМы сделали все необходимое для запуска образца OpenCV, но он вылетает из-за ошибки времени выполнения. Это сводит меня с ума, я надеюсь, что кто-то может помочь.

Но обо всем по порядку.

Моя процедура установки

загруженныйOpenCV 2.4.5 от sourcefourge.net.

Когда мне предложили, я выбралZ: \ Установки игр \ OpenCV " Как мой "Извлечь в" опция в .exe скачана по вышеуказанной ссылке.

Пошел в "Панель управления "-> "Система "-> "Расширенные системные настройки", а затем нажали наПеременные среды " в "Advanced» Вкладка. В "Системные переменные " коробка, которую я выделилДорожка" и нажал "Редактировать...", В новом окне я добавил в конец текста "Значение переменной " мой установочный каталог с ";" перед этим, а именно; Z: \ Установочные игры \ OpenCV \ opencv \ build \ x86 \ vc11 \ bin " (без двойных кавычек). Вот'Скриншот:

Создан новый проект в Visual Studio 2008: Файл -> Новый -> Проект ..., выбрал "Другие языки "-> "Visual C ++ -> "Win32" как тип проекта; "Консольное приложение Win32 " как шаблон. Нажал "следующий" в новом окне, затем выбралКонсольное приложение ","Пустой проект " а потом "Конец".В "Обозреватель решений "щелкнул правой кнопкой мыши по моей программе и выбралСвойства», Затем "Свойства конфигурации "-> "C / C ++ "-> "Генеральный"и на Дополнительные каталоги включения I 'мы добавили:Z: \ Установочные игры \ OpenCV \ opencv \ build \ includeZ: \ Установочные игры \ OpenCV \ opencv \ build \ include \ opencvZ: \ Установочные игры \ OpenCV \ opencv \ build \ include \ opencv2 "Сейчас в "Свойства конфигурации "-> "C / C ++ "-> "Линкер "-> "Генеральный", в "Дополнительные библиотечные каталоги "Я"мы добавилиZ: \ Установочные игры \ OpenCV \ opencv \ build \ x86 \ vc11 \ lib ".Сейчас в "Свойства конфигурации "-> "C / C ++ "-> "Линкер "-> "Input», в "Дополнительные зависимости "Я"мы добавили:opencv_calib3d245.libopencv_contrib245.libopencv_core245.libopencv_features2d245.libopencv_flann245.libopencv_gpu245.libopencv_highgui245.libopencv_imgproc245.libopencv_legacy245.libopencv_ml245.libopencv_nonfree245.libopencv_objdetect245.libopencv_photo245.libopencv_stitching245.libopencv_superres245.libopencv_ts245.libopencv_video245.libopencv_videostab245.libopencv_calib3d245d.libopencv_contrib245d.libopencv_core245d.libopencv_features2d245d.libopencv_flann245d.libopencv_gpu245d.libopencv_highgui245d.libopencv_imgproc245d.libopencv_legacy245d.libopencv_ml245d.libopencv_nonfree245d.libopencv_objdetect245d.libopencv_photo245d.libopencv_stitching245d.libopencv_superres245d.libopencv_ts245d.libopencv_video245d.libopencv_videostab245d.lib (Обратите внимание, что я нет добавил "opencv_ffmpeg245.lib», несмотря на то, что показывает скриншот).Щелкните правой кнопкой мыши "Исходные файлы "-> "Добавить "-> "Существующий предмет " и добавилZ: \ Установочные игры \ OpenCV \ opencv \ samples \ cpp \ cout_mat.cpp " файл.Эта проблемаПостроил проект, проблем здесь нет »Сборка прошла успешно "."Отладка "-> "Начать отладку ", Появится следующее:Ошибка http://s8.postimg.org/wdkubk5o3/the_error.jpg Изображение полного размера для ошибки:http://s8.postimg.org/wdkubk5o3/the_error.jpgI»

Мы также попробовали с образцом неровных линий, но это неОн также работает (даже с изображением в той же папке, что и .exe imread () не будет)найти изображение).

Любая помощь будет принята с благодарностью.

Если я'Вы не сделали некоторые шаги установки достаточно ясными, пожалуйста, оставьте комментарий.

Причина, по которой этот вопрос подходит для stackoverflow.comI '

Мы подробно описали всю процедуру установки (с нуля) для последней версии OpenCV, которая будет использоваться с Visual Studio 2008. Если кто-нибудь решит этот вопрос, у нас будет полное рабочее руководство для тех, у кого есть такая же необходимость (используйте последнюю версию OpenCV с Visual Studio 2008) и, возможно (из-за глубины процедуры установки), общее руководство по установке последних версий OpenCV с большинством версий Visual Studio (не только 2008, поскольку учебник неэто не сильно изменится, и читатель сможет легко его адаптировать). "

 JLagana17 мая 2013 г., 21:03
Изображение слишком маленькое? ты можешь пойти в:s8.postimg.org/wdkubk5o3/the_error.jpg
 GPPK16 мая 2013 г., 09:39
общее руководство по установке последних версий OpenCV с большинством версий Visual Studio (не только 2008, так как учебник неэто не сильно изменится, и читатель сможет легко его адаптировать). " Что не так с поддерживаемым руководством по установке OpenCV на OpenCVВеб-сайт
 Bull17 мая 2013 г., 06:48
Пожалуйста, отредактируйте ваше сообщение, чтобы оно правильно отображало появившуюся ошибку.
 AuroraBlaze12 дек. 2014 г., 07:45
Привет, могу ли я узнать, работает ли у вас Microsoft Visual Studio 2008 с использованием OpenCV с vc11? Кажется, у меня выдает ошибку, когда я использую vc11, и я читал, что некоторые говорят, что для Microsoft Visual Studio 2008 вместо этого должен быть vc9.
 JLagana16 мая 2013 г., 19:28
Это был мой первый подход. Но результаты были одинаковыми.
 Bull18 мая 2013 г., 14:09
Из-за названия, всей информации об установке и vc9 v 's vc11 проблема, я упустил момент, что эта проблема была специфична для opencv \ samples \ cpp \ cout_mat.cpp. Я получаю ту же ошибку, если я пытаюсьcv::Mat m; cout < m;

Ответы на вопрос(2)

Решение Вопроса

если вы хотите проверить правильность установки OpenCV. Просто загрузите изображение simple.jpg в opencv и отобразите его. Если это работает, вы можете начать отладку программы, которая дает сбой. Вы можете отладить его, последовательно включив Cout. Может быть, сначала просто включите cout по умолчанию в примере cout_mat.cpp и оставьте комментарий к нему.

Вот простая программа загрузки, которую вы можете попробовать протестировать.

int main(int argc, char*argv[])
{

    cvNamedWindow("My_Win", CV_WINDOW_AUTOSIZE);
    IplImage *img = cvLoadImage("C:\\vid_an2\\Desert.jpg", CV_LOAD_IMAGE_UNCHANGED );

    std::cout<<"Info About Image"<<std::endl; std::cout<<"size="" of="" image="" "<<img-="">nSize<<std::endl; std::cout<<"image="" channels="" "<<img-="">nChannels<<std::endl; std::cout<<"image="" width="" "<<img-="">width<<std::endl; std::cout<<"image="" height="" "<<img-="">height<<std::endl; std::cout<<"image="" depth="" "<<img-="">depth<<std::endl; std::cout<<"image="" widhtstep="" "<<img-="">widthStep<<std::endl; std::cout<<"image="" size="" "<<img-="">imageSize<<std::endl; cvshowimage("my_win",="" img);="" cvwaitkey(0);="" free="" the="" resources.="" cvdestroyallwindows();="" cvreleaseimage(&img);="" return="" 0;="" }="" <="" code=""></std::endl;></std::endl;></std::endl;></std::endl;></std::endl;></std::endl;></std::endl;></std::endl;>
 Sara 28 окт. 2016 г., 12:28
У меня небольшой вопрос, я пытаюсь установить OpenCV 2.4.13, и он включает в себя только vc11 и vc12, и я использую Visual Studio2010, так что я могу использовать VC11 в Visual Studio2010?
 praks41117 мая 2013 г., 16:56
Я быстро попробовал cout_mat.cpp. Я думаю, что проблема не с установкой opencv. Но, скорее всего, это связано с оператором << который используется для cout (отображения на консоли) Mat объекта напрямую. Если вы отключите все операторы cout, которые помещают объект Mat, код работает нормально. Может быть какая-то проблема с перегрузкой << operator.I»
 JLagana17 мая 2013 г., 15:48
Другими словами, я должен начать искать ошибки в "cout_mat.cpp», потому что моя установка работает нормально?
 JLagana17 мая 2013 г., 15:37
Этот код работает нормально. Означает ли это, что я правильно установил OpenCV? Потому что я все еще могуЗапустите cout_mat.cpp (пример из OpenCV).

Z:\Games instalados\OpenCV\opencv\build\x86\vc11 вZ:\Games instalados\OpenCV\opencv\build\x86\vc9, Папка vc11 предназначена для VS2012, vc9 - для VS2008.

 JLagana17 мая 2013 г., 15:34
Изменено это, та же самая ошибка времени выполнения все еще показывает, пытаясь выполнить cout_mat.cpp.
 Bull18 мая 2013 г., 03:07
После изменения переменной среды path вы перезапустили Visual Studio, чтобы она подхватила новую среду (на самом деле из-за загрузки dll может потребоваться перезагрузка)? Можете ли вы сделать один шаг с отладчиком, где происходит нарушение доступа?

Ваш ответ на вопрос