Установка OpenCV

Установка OpenCV (на примере OpenCV-2.4.3) и настройки для Visual Studio Express 2008 ver.9 (VC9).
Инструкция для настроек под Windows.

       1. Запускаем самораспаковывающийся файл OpenCV-2.4.3.exe (или более свежую версию), скачиваем здесь:
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/
       2. Скачиваем последний, стабильный релиз библиотеки TBB для Windows (tbb41_20130116oss_win.zip) здесь:
http://threadingbuildingblocks.org/
Распаковываем архив и копируем все файлы из каталога bin\ia32\ в директорию:
C:\opencv\build\common\tbb\
придется создать папки common и tbb.

       TBB - Intel Threading Building Blocks (Intel TBB) - это кроссплатформенная библиотека шаблонов С++, разработанная компанией Intel для параллельного программирования и содержащая алгоритмы и структуры данных, позволяющие избежать сложностей, возникающих при использовании традиционных реализаций потоков.

       3. Устанавливаем пути к dll-кам в системную переменную PATH (Мой компьютер - Свойства - Дополнительно - Переменные среды):
C:\opencv\build\x86\vc9\bin\;C:\opencv\build\common\tbb\ia32\vc9\

       4. Настраиваем Visual Studio IDE:
       4.1. Прописываем путь к заголовочным файлам (по необходимости удаляя пути к старой версии библиотеки):
Tools->Options->Projects->VC++ Directories->Include files
C:\opencv\build\include\
C:\opencv\build\include\opencv
       4.2. Прописываем путь к lib-файлам: Tools->Options->Projects->VC++ Directories->Library files
C:\opencv\build\x86\vc9\lib\
       4.3. Для удобства, можно указать каталоги исходных файлов: Tools->Options->Projects->VC++ Directories->Source files

c:\opencv\modules\calib3d
c:\opencv\modules\contrib
c:\opencv\modules\core
c:\opencv\modules\features2d
c:\opencv\modules\flann
c:\opencv\modules\gpu
c:\opencv\modules\haartraining - этого почему-то нет...
c:\opencv\modules\highgui
c:\opencv\modules\imgproc
c:\opencv\modules\legacy
c:\opencv\modules\ml
c:\opencv\modules\objdetect
c:\opencv\modules\traincascade - этого почему-то нет...
c:\opencv\modules\ts
c:\opencv\modules\video
       4.4. Прописать в настройках вашего проекта Project->Properties->Configuration Properties->Linker->Input
"Additional Dependencies" (Дополнительные зависимости) необходимые lib-файлы.
       Имена библиотек оканчивающиеся на "d" отладочные (Debug), без "d" релизные (Release).

       Для Debug (при отладке лучше использовать эти):

opencv_core243d.lib
opencv_highgui243d.lib
opencv_imgproc243d.lib
opencv_video243d.lib
opencv_ml243d.lib
opencv_calib3d243d.lib
opencv_objdetect243d.lib
opencv_features2d243d.lib
opencv_contrib243d.lib
opencv_ts243d.lib
opencv_legacy243d.lib
opencv_flann243d.lib
opencv_gpu243d.lib
opencv_haartraining_engined.lib
       Для Release:
opencv_core243.lib
opencv_highgui243.lib
opencv_imgproc243.lib
opencv_video243.lib
opencv_ml243.lib
opencv_calib3d243.lib
opencv_objdetect243.lib
opencv_features2d243.lib
opencv_contrib243.lib
opencv_ts243.lib
opencv_legacy243.lib
opencv_flann243.lib
opencv_gpu243.lib
opencv_haartraining_engine.lib
       4.3. Прописываем путь к библиотекам:
"Common Properties" -> "Linker" -> "General", edit "Additional Library Directories" (Дополнительные каталоги библиотек):
С:\opencv\build\x86\vc9\lib\

Но можно, например, просто прописать в заголовочном файле проекта:

#include <opencv2/opencv.hpp>

#ifdef _MSC_VER
# if CV_MAJOR_VERSION == 2 && CV_MINOR_VERSION == 4 && CV_SUBMINOR_VERSION == 3
// OpenCV 2.4.3
#  if defined(_DEBUG)
#  pragma comment(lib, "opencv_core243d.lib")
#  pragma comment(lib, "opencv_highgui243d.lib")
#  pragma comment(lib, "opencv_imgproc243d.lib")
#  pragma comment(lib, "opencv_video243d.lib")
#  pragma comment(lib, "opencv_ml243d.lib")

#  pragma comment(lib, "opencv_calib3d243d.lib")
#  pragma comment(lib, "opencv_objdetect243d.lib")
#  pragma comment(lib, "opencv_features2d243d.lib")
#  pragma comment(lib, "opencv_contrib243d.lib")
#  pragma comment(lib, "opencv_ts243d.lib")
#  pragma comment(lib, "opencv_legacy243d.lib")
#  pragma comment(lib, "opencv_flann243d.lib")
#  pragma comment(lib, "opencv_gpu243d.lib")
# else
#  pragma comment(lib, "opencv_core243.lib")
#  pragma comment(lib, "opencv_highgui243.lib")
#  pragma comment(lib, "opencv_imgproc243.lib")
#  pragma comment(lib, "opencv_video243.lib")
#  pragma comment(lib, "opencv_ml243.lib")

#  pragma comment(lib, "opencv_calib3d243.lib")
#  pragma comment(lib, "opencv_objdetect243.lib")
#  pragma comment(lib, "opencv_features2d243.lib")
#  pragma comment(lib, "opencv_contrib243.lib")
#  pragma comment(lib, "opencv_ts243.lib")
#  pragma comment(lib, "opencv_legacy243.lib")
#  pragma comment(lib, "opencv_flann243.lib")
#  pragma comment(lib, "opencv_gpu243.lib")
# endif //#  if defined(_DEBUG)

# endif //# if CV_MAJOR_VERSION == 2 && CV_MINOR_VERSION == 4
#endif //#ifdef _MSC_VER
       5. Далее делаем File/New/Project.../Win32 Console Project (Консольное приложение Win32). Переходим в "Solution Explorer" (Обозреватель решений), правой клавишей мыши на "Source Files" (Файлы исходного кода), выбрать "Add" (Добавить) -> "New Item:" (Новый элемент), выбрать "C++ File (.cpp)", дать ему имя "main". Затем можно в окно main.cpp - вставлять свой собственный код (можно использовать код из предсталенных ниже примеров).

Образец картинки для примеров представленных ниже: Image0.jpg
---------
Пример 1:
---------

#include <opencv2/opencv.hpp>

using namespace cv;

int main()
{
Mat img(Mat::zeros(100, 100, CV_8U));
imshow("window", img);
waitKey();
return 0;
}

---------
Пример 2:
---------

#include <opencv2/opencv.hpp>

int main()
{
cv::Mat img = cv::imread("C:/Image0.jpg");
cv::imshow("img", img);
cv::waitKey(0);
return 0;
}

---------
Пример 3:
---------

#include <opencv2/opencv.hpp>

#ifdef _MSC_VER
# if CV_MAJOR_VERSION == 2 && CV_MINOR_VERSION == 4 && CV_SUBMINOR_VERSION == 3
// OpenCV 2.4.3
#  if defined(_DEBUG)
#  pragma comment(lib, "opencv_core243d.lib")
#  pragma comment(lib, "opencv_highgui243d.lib")
#  pragma comment(lib, "opencv_imgproc243d.lib")
#  pragma comment(lib, "opencv_video243d.lib")
#  pragma comment(lib, "opencv_ml243d.lib")

#  pragma comment(lib, "opencv_calib3d243d.lib")
#  pragma comment(lib, "opencv_objdetect243d.lib")
#  pragma comment(lib, "opencv_features2d243d.lib")
#  pragma comment(lib, "opencv_contrib243d.lib")
#  pragma comment(lib, "opencv_ts243d.lib")
#  pragma comment(lib, "opencv_legacy243d.lib")
#  pragma comment(lib, "opencv_flann243d.lib")
#  pragma comment(lib, "opencv_gpu243d.lib")
# else
#  pragma comment(lib, "opencv_core243.lib")
#  pragma comment(lib, "opencv_highgui243.lib")
#  pragma comment(lib, "opencv_imgproc243.lib")
#  pragma comment(lib, "opencv_video243.lib")
#  pragma comment(lib, "opencv_ml243.lib")

#  pragma comment(lib, "opencv_calib3d243.lib")
#  pragma comment(lib, "opencv_objdetect243.lib")
#  pragma comment(lib, "opencv_features2d243.lib")
#  pragma comment(lib, "opencv_contrib243.lib")
#  pragma comment(lib, "opencv_ts243.lib")
#  pragma comment(lib, "opencv_legacy243.lib")
#  pragma comment(lib, "opencv_flann243.lib")
#  pragma comment(lib, "opencv_gpu243.lib")
# endif //#  if defined(_DEBUG)

# endif //# if CV_MAJOR_VERSION == 2 && CV_MINOR_VERSION == 4
#endif //#ifdef _MSC_VER

int main()
{
cv::Mat img = cv::imread("C:/Image0.jpg");
cv::imshow("img", img);
cv::waitKey(0);
return 0;
}

-----------------------------------------------

Ссылки на источники по описанию установки OpenCV:

       1. Последняя версия OpenCV (на начало 2016 года) - opencv-3.1.0.exe
Ссылки для скачивания:
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/

       2. Установка OpenCV (на английском):
http://www.anlak.com/using-opencv-2-3-1-with-visual-studio-2010-tutorial/

       3. OpenCV - установка 2.3.1 (на русском):
http://robocraft.ru/blog/computervision/700.html