OpenCV Tutorial
Part I Using OpenCV with Microsoft Visual Studio .net 2003 28 November 2005
Gavin S Page
gsp8334@cs.rit.edu
OpenCV
What is OpenCV?
(from the documentation)
OpenCV means Intel Open Source Computer Vision Library. It is a collection of C functions and a few C++ classes that implement some popular Image Processing and Computer Vision algorithms.
The key features
(from the documentation)
Cross-Platform API of C functions FREE for commercial and noncommercial uses
What this means You can take advantage of high speed implementations of functions commonly used in Computer Vision/Image Processing.
28 November 2005 Gavin S Page gsp8334@cs.rit.edu 2
OpenCV
How to obtain the library Available on Sourceforge
http://sourceforge.net/projects/opencvlibrary/
(Or use your favorite search engine)
How to install the library
(On Windows)
Download and Install the Executable
28 November 2005
Gavin S Page
gsp8334@cs.rit.edu
Configuring MSVS .net 2k3
Upon loading Visual Studio it is recommended that you adjust the profile to that of Visual C+ + Developer. This will help keep things straight when I reference keyboard shortcuts later on.
28 November 2005
Gavin S Page
gsp8334@cs.rit.edu
Configuring MSVS .net 2k3
Creating the Project
A project is initially created by selecting: File -> New -> Project
Create a Win32 Console Project
Make it an Empty Project by selecting the box under Application Settings
28 November 2005 Gavin S Page gsp8334@cs.rit.edu 5
Configuring MSVS .net 2k3
Create the First File Right Click the Source Files Folder under the project name
(Tutorial in this case) Add -> Add new Item
Select C++ file and give it a name Creating a file makes it possible to set Additional Include Directives in the C/C ++ pane under the project properties.
28 November 2005 Gavin S Page gsp8334@cs.rit.edu 6
Configuring MSVS .net 2k3
In order to build projects using OpenCV the required libraries and directives must be included in the projects properties
Open the Properties Pane Right Click the name of the project and select Properties
(Tutorial in this case)
28 November 2005
Gavin S Page
gsp8334@cs.rit.edu
Configuring MSVS .net 2k3
Set Additional Include Directives Under the C/C++ tab select General Select the Additional Include Directives Add the full path to each of the folders which contain .h files required to use OpenCV Be sure to include trailing \ Utilized Directives
C:\Program Files\OpenCV\cvaux\include\ C:\Program Files\OpenCV\cxcore\include\ C:\Program Files\OpenCV\cv\include\ C:\Program Files\OpenCV\otherlibs\highgui\ C:\Program Files\OpenCV\otherlibs\cvcam\include\
28 November 2005
Gavin S Page
gsp8334@cs.rit.edu
Configuring MSVS .net 2k3
Set Additional Dependencies Under the Linker tab select Input Select the Additional Dependencies Add the full path to each of the .lib files required to use OpenCV Be sure to keep the paths in quotes Utilized Dependencies
"C:\Program Files\OpenCV\lib\cv.lib "C:\Program Files\OpenCV\lib\cvaux.lib "C:\Program Files\OpenCV\lib\cxcore.lib "C:\Program Files\OpenCV\lib\cvcam.lib "C:\Program Files\OpenCV\lib\highgui.lib"
28 November 2005
Gavin S Page
gsp8334@cs.rit.edu
Testing MSVS .net 2k3
Now that the environment is configured it would be a good idea to test it to make sure that a program will correctly build and run.
#include <cv.h> #include <highgui.h> /* This will pop up a small box with "Hello World" as the text. @author: Gavin Page, gsp8334@cs.rit.edu @date: 28 November 2005 */ int main( int argc, char** argv ) { //declare for the height and width of the image int height = 320; int width = 240; //specify the point to place the text CvPoint pt = cvPoint( height/4, width/2 ); //Create an 8 bit, 3 plane image IplImage* hw = cvCreateImage(cvSize(height, width), 8, 3); //initialize the font CvFont font; cvInitFont( &font, CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0, 0, 1, CV_AA); //place the text on the image using the font cvPutText(hw, "Hello World", pt, &font, CV_RGB(150, 0, 0) ); //create the window container cvNamedWindow("Hello World", 0); //display the image in the container cvShowImage("Hello World", hw); //hold the output windows cvWaitKey(0); return 0; }
Testing the First Program The enclosed code can be cut and pasted into the file created in the project space to test OpenCV
28 November 2005 Gavin S Page
gsp8334@cs.rit.edu
10
Testing MSVS .net 2k3
Building the Program The program is built by selecting: Build -> Build Solution Or by pressing F7 Running the Program The program is run by selecting:
Debug -> {Start||Start without Debugging}
Or by pressing F5 or <Ctrl>-F5
Output of Program
28 November 2005
Gavin S Page
gsp8334@cs.rit.edu
11
At this point you should have a working OpenCV project. If the program is not working you should go back and carefully recheck the steps. From here you can explore the documentation to review the functions available. There are also a number of tutorials on the web including: http://www.site.uottawa.ca/~laganier/tutorial/opencv+directshow/cvision.htm http://www.softintegration.com/products/thirdparty/opencv/demos/ Or you can just search for them
You should also join the OpenCV Community located at: http://groups.yahoo.com/group/OpenCV/ As of today there are >15000 members available to answer questions. There is also a searchable message board where you can look up previous queries.
28 November 2005
Gavin S Page
gsp8334@cs.rit.edu
12
Revision History
Initial Creation: 28 November 2005
28 November 2005
Gavin S Page
gsp8334@cs.rit.edu
13