Установка OpenCV-2.3 для Visual Studio 2010

Я пытаюсь использовать opencv 2.3 с Visual Studio 2010 Express. Мой код приведен из примера:

#include "stdafx.h" #include  int _tmain(int argc, _TCHAR* argv[]) { int c; // allocate memory for an image IplImage *img; // capture from video device #1 CvCapture* capture = cvCaptureFromCAM(1); // create a window to display the images cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); // position the window cvMoveWindow("mainWin", 5, 5); while(1) { // retrieve the captured frame img=cvQueryFrame(capture); // show the image in the window cvShowImage("mainWin", img ); // wait 10 ms for a key to be pressed c=cvWaitKey(10); // escape key terminates program if(c == 27) break; } return 0; } 

Что я сделал до сих пор?

  • Добавлена build\bin и одна из build\{x86|x64}\{vc9\vc10\mingw}\bin на мой системный путь (для использования DLL).
  • Добавлена build\{x86|x64}\{vc9\vc10\mingw}\lib или build\{x86|x64}\{vc9\vc10\mingw}\staticlib качестве библиотечных каталогов в мои настройки компоновщика.
  • Добавлены build\include и build\include\opencv включая каталоги для моих настроек компилятора.

И результат:

1> LINK: фатальная ошибка LNK1104: невозможно открыть файл ‘c: \ OpenCV2.3 \ build \ x86 \ vc10 \ lib.obj’

В lib.obj OpenCV нет lib.obj . Я только распаковал OpenCV-2.3.0-win-superpack.exe , не используя программное обеспечение CMake.

Что я делаю не так?

3 Solutions collect form web for “Установка OpenCV-2.3 для Visual Studio 2010”

Ну, официальное руководство – для установки OpenCV 2.1 на VS2010, поэтому я написал несколько инструкций ниже, в которых показано, как правильно установить и настроить версию OpenCV 2.3 на Visual Studio 2010 (Express), поскольку многие люди, похоже, имеют проблемы правильно настроив его.

Загрузите OpenCV-2.3.0-win-superpack.exe и запустите его, чтобы извлечь все файлы в папку с именем OpenCV2.3 . Внутри этой папки есть 2 каталога: build и opencv . Вся настройка на VS2010 будет ссылаться на каталог build . Для практических целей я переместил папку OpenCV2.3 на мой диск C:\ , поэтому обратите внимание на пути, которые я предлагаю в этом руководстве, поскольку ваши могут отличаться.

В Visual Studio создайте новый проект консольного приложения Win32 и назовите его как хотите. После этого появится новое окно. Нажмите вкладку « Параметры приложения» и убедитесь, что выбран вариант « Пустой проект» :

введите описание изображения здесь

Добавьте новый файл main.cpp в папку Source Files , затем добавьте этот код в main.cpp :

 #include  #include  #include  int main(int argc, char* argv[]) { if (argc < 2) { printf("Usage: ./opencv_hello \n"); return -1; } IplImage* img = cvLoadImage(argv[1], CV_LOAD_IMAGE_UNCHANGED); if (!img) { return -1; } cvNamedWindow("display", CV_WINDOW_AUTOSIZE); cvShowImage("display", img ); cvWaitKey(0); return 0; } 

На этом этапе нам нужно настроить проект, чтобы он мог находить заголовки и библиотеки OpenCV. Перейдите в Свойства проекта ( ALT + F7 ), и после появления нового windows выполните следующие действия:

  • В окне « Конфигурация» выберите « Все конфигурации»

  • Откройте « Свойства конфигурации»> «C / C ++»> «Общие» и отредактируйте поле « Дополнительные каталоги включения», чтобы добавить эти 3 пути (для заголовков):

    C:\OpenCV2.3\build\include\opencv

    C:\OpenCV2.3\build\include\opencv2

    C:\OpenCV2.3\build\include

введите описание изображения здесь

Обратите внимание, что include\opencv для интерфейса C OpenCV и include\opencv2 если для интерфейса C ++. Мы также добавляем папку, чтобы предотвратить opencv2\core нашей сборки некоторыми заголовками интерфейса C, которые относятся к заголовкам C ++ как opencv2\core .

  • Затем добавьте путь к библиотекам в Configuration Properties> Linker> General и в поле Additional Library Directories , добавьте следующее: C:\OpenCV2.3\build\x86\vc9\lib :

введите описание изображения здесь

  • Наконец, для этого простого теста мы собираемся добавить библиотеки opencv_core230.lib и opencv_highgui230.lib . Итак, перейдите в Configuration Properties> Linker> Input и добавьте их:

введите описание изображения здесь

При написании более сложных приложений вам, вероятно, придется добавить другие библиотеки OpenCV, которые я не упомянул в этом маленьком нашем проекте.

Нажмите F7 для сборки решения, и вы увидите:

 ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== 

Чтобы иметь возможность выполнить приложение, вам необходимо изменить переменную среды PATH вашей системы, чтобы добавить расположение DLL OpenCV. Добавьте это к концу PATH:

 ; C:\OpenCV2.3\build\x86\vc9\bin 

Если вы боретесь с редактированием переменных среды PATH, вы также можете скопировать необходимые файлы .dll в папку проекта: файлы DLL находятся в этой папке ./OpenCV2.3/build.x86/vc9/bin

Затем скопируйте их в папку, где создан файл .exe: c: \ Users \ PIMMES \ Documents \ Visual Studio 2010 \ Projects \ eigenfaces \ Debug (Конечно, вам нужно изменить путь к папке Debug)

Вам нужно только скопировать DLL-файлы, которые вы используете в своем проекте (например, #include). Например, если вы получите сообщение об ошибке, указывающее, что opencv_core231d.dll не найден, получите этот .dll-файл из вышеуказанного местоположения (папка bin ) и скопируйте в папку «Отладка» проекта.

Надеюсь это поможет..

Всякий раз, когда я делаю программу, которая использует opencv 2.2 или более поздней, я включаю все, а затем комментирую библиотеки, которые мне не нужны. Попробуйте это, я уверен, вам нужно больше, чем highgui.h

 #include "opencv2\opencv.hpp" using namespace cv; //#pragma comment(lib, "opencv/opencv_calib3d231.lib") //#pragma comment(lib, "opencv/opencv_contrib231.lib") #pragma comment(lib, "opencv/opencv_core231.lib") //#pragma comment(lib, "opencv/opencv_features2d231.lib") //#pragma comment(lib, "opencv/opencv_flann231.lib") //#pragma comment(lib, "opencv/opencv_gpu231.lib") //#pragma comment(lib, "opencv/opencv_haartraining_engine.lib") #pragma comment(lib, "opencv/opencv_highgui231.lib") //#pragma comment(lib, "opencv/opencv_imgproc231.lib") //#pragma comment(lib, "opencv/opencv_legacy231.lib") //#pragma comment(lib, "opencv/opencv_ml231.lib") #pragma comment(lib, "opencv/opencv_objdetect231.lib") //#pragma comment(lib, "opencv/opencv_ts231.lib") //#pragma comment(lib, "opencv/opencv_video231.lib") 
  • Как установить флаги компилятора CUDA в Visual Studio 2010?
  • Аутентификация Windows IIS Express
  • Для чего нужны файлы Web.Debug.config и Web.Release.Config?
  • Преобразование Web.config работает локально
  • Подключение к базе данных Oracle с помощью Visual Studio Server Explorer вызывает сбой Visual Studio
  • Как включить «Включить исходный степпинг .NET Framework»?
  • Visual Studio 2010 не удается установить с помощью «Ошибка при установке»
  • Mercurial .hgignore для проектов Visual Studio 2010
  • Поддерживает ли Microsoft Visual Studio 2010 c99?
  • «Ошибка установки» при установке Microsoft Windows SDK 7.1
  • Как установить UserControl в Visual Studio toolBox
  • Interesting Posts

    Как перенести текущее активное окно с одного монитора на другой с помощью сочетания клавиш?

    Очистить задний стек с помощью fragmentов

    Доступ к локальному хосту на Mac OS X с машины Parallels

    Первый запуск занимает много времени (ClassLoader ссылается на неизвестный путь)

    R: rvest: соскабливание динамической страницы электронной торговли

    Клавиши переключения (Fn) и Control (Ctrl) на Lenovo ThinkPad W500

    Понимание примера преобразования lvalue-to-rvalue

    В MVVM должен ViewModel или Model реализовать INotifyPropertyChanged?

    Как определить структуру typedef, содержащую указатели на себя?

    Как использовать IDS Suricata для мониторинга всей сети?

    Проблемы сравнения с плавающей запятой MySQL

    Можете ли вы сделать Windows 7 не локализовать имена папок?

    Эффективность анализа (если, TryParse, Try-Catch)

    Вставить и вставить MySQL

    Как получить значение даты в командной строке

    Давайте будем гением компьютера.