Configure o OpenCV com VS2012 no Win7 de 64 bits

Esta dica explicará o processo de configuração da biblioteca OpenCV no Windows 7. Essa biblioteca é usada principalmente para algoritmos de visão computacional.

1) Faça download do opencv
http://opencv.org/downloads.html

2) Baixar vs2012

http://www.microsoft.com/en-gb/download/details.aspx?id=30682

3) Extrair opencv (para os fins deste local de protocolo se em D 🙂

4) Confirme se a versão de bits do Windows é 64.

5) Configure o PATH – clique no botão Iniciar, clique com o botão direito em Meu Computador -> Propriedades -> Configurações Avançadas do Sistema -> Variáveis ​​de Ambiente -> Variáveis ​​do Sistema (encontre PATH) -> Editar -> basta adicionar o seguinte:

D:opencv249opencvbuildx64vc11bin

6) REINICIE o PC !!!!!

7) Abra o VS2012

8) Criar novo projeto vazio de aplicativo de console win32

9) Configure a liberação e depure para x64

10) Clique com o botão direito no projeto -> Propriedades

11) C / C ++ -> Geral:

D:opencv249opencvbuildinclude
D
:opencv249opencvbuildincludeopencv

12) Ligante -> Geral:

D:opencv249opencvbuildx64vc11lib

13) Ligante -> Entrada:

opencv_calib3d249.lib
opencv_contrib249
.lib
opencv_features2d249
.lib
opencv_flann249
.lib
opencv_gpu249
.lib
opencv_highgui249
.lib
opencv_imgproc249
.lib
opencv_legacy249
.lib
opencv_ml249
.lib
opencv_nonfree249
.lib
opencv_objdetect249
.lib
opencv_photo249
.lib
opencv_stitching249
.lib
opencv_superres249
.lib
opencv_ts249
.lib
opencv_video249
.lib
opencv_videostab249
.lib
opencv_core249
.lib

NB: O final de 249 é a versão do OpenCV

14) Código de amostra:

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>

using namespace std;
using namespace cv;

VideoCapture capture (0);
cv
::Mat out; cv::Mat out2;

int main(int, char**)
{
namedWindow
( "Edges", CV_WINDOW_NORMAL );
//CvCapture* capture = cvCaptureFromCAM(0);

for(;;) {
//frame = cvQueryFrame( capture );
Mat frame;
capture
>> frame;
GaussianBlur( frame, out, Size(5, 5), 0, 0 );
cvtColor
( out ,out2, CV_BGR2GRAY ); // produces out2, a one-channel image (CV_8UC1)
Canny( out2, out2, 100, 200, 3 ); // the result goes to out2 again,but since it is still one channel it is fine

vector
<vector<Point>> contours;

findContours
(out2, contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);
drawContours
(frame, contours, -1, Scalar(239,255,0), 2);

//if( !frame.data ) break;
imshow
( "Edges", out2 );
imshow
( "Contours", frame );

if(cv::waitKey(30) >= 0) break;
}
return 0;
}

15) Construa ou pressione F5.

Se todas as etapas forem seguidas com precisão, o código de amostra deve funcionar.