Well, the official guide is for installing OpenCV 2.1 on VS2010, so I wrote some instructions below that shows how to properly install and configure the x86 version of OpenCV 2.3 on Visual Studio 2010 (Express), since a lot of folks seem to have problems setting it up correctly.
Download OpenCV-2.3.0-win-superpack.exe and execute it to extract all files to a folder named OpenCV2.3
. Inside this folder there are 2 directories: build
and opencv
. All the setup on VS2010 will refer to the build
directory. For practical purposes I moved the folder OpenCV2.3
to my C:
drive, so pay attention to the paths I suggest on this guide as yours might be different.
On Visual Studio, create a new Win32 Console Application project and name it whatever you like. After that, a new window will show up. Click on the tab Application Settings and make sure the option Empty Project gets selected:
Add a new file main.cpp
to the folder Source Files
, then add this code to main.cpp
:
#include <stdio.h>
#include <cv.h>
#include <highgui.h>
int main(int argc, char* argv[])
{
if (argc < 2)
{
printf("Usage: ./opencv_hello <file.png>
");
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;
}
At this point, we need to configure the project so it can locate OpenCV headers and libraries. Go to the Project Properties (ALT+F7), and once the new window shows up do the following:
On the Configuration box, select All Configurations
Open Configuration Properties > C/C++ > General, and edit the field Additional Include Directories to add these 3 paths (for the headers):
C:OpenCV2.3uildincludeopencv
C:OpenCV2.3uildincludeopencv2
C:OpenCV2.3uildinclude
Note that includeopencv
is for the C interface of OpenCV and includeopencv2
if for the C++ interface. We are also adding the folder include
to prevent our build from being broken by some headers of the C interface that refer to C++ headers as opencv2core
.
- Then, add the path of the libraries on Configuration Properties > Linker > General, and on the Additional Library Directories field, add this:
C:OpenCV2.3uildx86vc9lib
:
- Finally, for this simple test we are going to add the libraries
opencv_core230.lib
and opencv_highgui230.lib
. So go to Configuration Properties > Linker > Input and add them:
When writing more complex applications you'll probably need to add other OpenCV libs that I did not
mentioned on this little project of ours.
Press F7 to Build Solution and you should see:
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
To be able to execute the application you'll need to modify the PATH environment variable of your system to add the location of OpenCV's DLLs. Add this to end of PATH:
; C:OpenCV2.3uildx86vc9in