Я использую это руководство, чтобы начать работу с OpenCV 2.4.6 на VS 2008:
http://docs.opencv.org/doc/tutorials/introduction/windows_visual_studio_Opencv/windows_visual_studio_Opencv.html
Я следовал всем инструкциям (мой OpenCV не находится в папке Program Files (x86) по умолчанию, он находится в
C:\opencv_built
В отличие от этого руководства, я написал очень простой код, чтобы убедиться, что все включенные файлы доступны, и если он успешно собирается, и т. Д .:
#include "stdafx.h"
#include <iostream> // for standard I/O
#include <string> // for strings
#include <iomanip> // for controlling float print precision
#include <sstream> // string to number conversion
#include <opencv2/imgproc/imgproc.hpp> // Gaussian Blur
#include <opencv2/core/core.hpp> // Basic OpenCV structures (cv::Mat, Scalar)
#include <opencv2/highgui/highgui.hpp> // OpenCV window I/O
using namespace std;
using namespace cv;
double getPSNR ( const Mat& I1, const Mat& I2);
Scalar getMSSIM( const Mat& I1, const Mat& I2);int main(int argc, char *argv[])
{
return 0;
}
Но я получаю фатальную ошибку при попытке собрать:
fatal error C1083: Cannot open include file: 'opencv2/imgproc/imgproc.hpp': No such file or directory c:\Users\Administrator\Documents\Visual Studio 2008\Projects\firstopencv\firstopencv\firstopencv.cpp 17
Это, очевидно, относится к этой строке:
#include <opencv2/imgproc/imgproc.hpp> // Gaussian Blur
Я не знаю, где найти DLL-файлы или что делать дальше? Я знаю, что это должно быть действительно легко, но я искал любой из файлов DLL, например.
opencv_core243d.lib
но я не получаю результатов поиска.
1. Проверьте свой путь к \ VC10 папка. Это должно быть либо:
C:\opencv_built\build\x86\vc10
или же
C:\opencv_built\x86\vc10
2. Идти к
Start>Edit environment variables for your account>Under System variables > New...
Имя переменной: OPENCV_DIR
Значение переменной: Вставьте свой путь из шага 1 здесь.
3. Откройте Visual Studio, создайте новый проект, перейдите к Страницы собственности
4. Под C / C ++> Дополнительные каталоги включения
Вставить $(OPENCV_DIR)\..\..\include
5. Под Линкер> Общие> Дополнительные каталоги включения
Вставить $(OPENCV_DIR)\lib
6а. (За DEBUG собственность!) Под Линкер> Ввод> Дополнительные зависимости
Вставить
opencv_core246d.lib
opencv_imgproc246d.lib
opencv_highgui246d.lib
opencv_ml246d.lib
opencv_video246d.lib
opencv_features2d246d.lib
opencv_calib3d246d.lib
opencv_objdetect246d.lib
opencv_contrib246d.lib
opencv_legacy246d.lib
opencv_flann246d.lib
6b. (За РЕЛИЗ собственность!) Под Линкер> Ввод> Дополнительные зависимости
Вставить
opencv_core246.lib
opencv_imgproc246.lib
opencv_highgui246.lib
opencv_ml246.lib
opencv_video246.lib
opencv_features2d246.lib
opencv_calib3d246.lib
opencv_objdetect246.lib
opencv_contrib246.lib
opencv_legacy246.lib
opencv_flann246.lib
Этого должно быть достаточно. Если после запуска кода у вас пропало окно .dll, скопируйте нужный .dll из вашего C:\opencv_built\build\x86\vc10\bin
или же C:\opencv_built\x86\vc10\bin
в папку вашего проекта.
Это не файл DLL, это файл заголовка. Файл называется imgproc.hpp
Если ваш компилятор не может его найти, это либо потому, что его там нет, либо потому, что вы не сказали своему компилятору, где его найти.
Важной частью для VS является «Дополнительные каталоги для включения», посмотрите на эту часть еще раз на веб-странице, на которой вы следили.
Хорошо, исправление было следующим:
Под линкером -> Общие -> Дополнительные библиотечные зависимости
Я кладу:
C:\opencv_built\lib\Debug