Open Source Computer Vision LibrayRelease Notes |
This is a community effort, code and algorithm contribution of new and
existing algorithms are encouraged. The library targets 3 areas of use.
There are more than 300 functions in OpenCV that are tuned for faster execution on the latest Intel processors. Significant part of the library is optimized using MMX and SSE instructions.
The library performance and functionality are improving quickly.
Read the history file for change history. The OpenCV API has changed. See the list of changes here.
Write your code using library functions with reference to our the user manual OpenCV Reference Manual.pdf and the main header file CV.h.
Link against the library files:
..\lib\cv.lib
..\OtherLibs\_Ipl\lib\msvc\ipl.lib
depending on the demo application, you may also need
..\lib\HighGUI.lib
..\lib\vlgfmts.lib
..\OtherLibs\_Mkl\lib\Default\Intel\mkl_c.lib
..\DirectShow libraries
The dynamic link libraries (dll) must be in the system path, or in the directory that you run your application from. The location of the dynamic link libraries is:
..\bin
Of course, if you are making use of DirectShow, you will need it's dll's in the path ..\DirectShow\bin
When you run your application, cv.dll and ipl.dll will automagically look up the processor type and swap in the correct optimized dll. If it can't find the correct dll, or if it can't identify the processor type, the optimized C version will be used. The "code names" for libs and dlls are:
cv.dll or cv.lib Dll and import library that can be built from supplied sources (pure C code)
OptCVPX.dll and IppCVPX.dll code, optimized for any IA32 processor.
OptCVM5.dll and IppCVM5.dll Pentium MMX assembly optimized code.
OptCVM6.dll and IppCVM6.dll Pentium II assembly optimized code.
OptCVA6.dll and IppCVA6.dll Pentium III assembly optimized code.
OptCVW7.dll and IppCVW7.dll Pentium 4 assembly optimized code.
Open:
All the C++ and C source for the library, DirectShow filters and application demos as well as the Matlab code.
The C++/C library code compiles to build the cvPX.lib and cvPX.dll.
Closed:
The assembly language optimized versions of the C code for each processor that Intel is contributing to the code base.
The reason these are not open is that Intel is producing an array of primitive routines covering virtually all of its optimized libraries. These primitives will be freely re-distributable, but they will not be part of the open source computer vision library. For now, we have ship preliminar (though, stable) versions of these future optimized primitive routines inside the OptCVXX.dlls and IppCVXX.dlls, but we will use the actual primitives when they are released in Q3'2000. This change will not affect the C code.
If you think you have a good reason for needing the assembly source code please contact us.
Hardware requirements: A Pentium
MMX, Pentium Pro, Pentium II, Pentium III or Pentium 4 processor-based PC. Memory should be appropriate for the image sizes needed.
Recommended hardware: Pentium III or Pentium 4 processor-based PC with USB
ports, camera.
Software requirements: Win98, WinNT4.0, or Win2000. Microsoft Visual C++ 6.0. The applications require
DirectShow to be installed (6.0 for NT4.0 and 7.0+ for Win98, Win2000). The various filters require
graphedt.exe to be installed. This may be downloaded with the full (LARGE) DirectShow download from
http://microsoft.com/directx/homeuser/downloads/default.asp
~128MB.
or
Linux 2.2.x or 2.4.x, glibc 2.95. The application VMDemo requires Tcl/Tk 8.3 and img widget installed.
Recommended software: Win2000 (comes with DirectShow (runtime only,
not SDK)) with graphedt.exe installed.
or
Linux Slackware 7.1 or Linux RedHat 7.0.
Please see the license file license.txt for the license definitions and restrictions on the library.
The whole OpenCV delivery is broken up into several smaller packages:
To install each package download it, uncompress and run setup.exe
There is a single package for Linux: opencv-linux-b1.tar.gz. The package content is the same as opencv_core_b1.zip, but additionally includes demo application VMDemo.
To install it, do the following steps:
To run
demo application VMDemo, you should have TCL/TK 8.3.x and "Img image format extension"
widget installed.
(visit http://www.scriptics.com to obtain TCL/TK and
http://members1.chello.nl/~j.nijtmans/img.html
to obtain the widget).
%Root folder% | + _DSW // Workspace file for Microsoft Visual Studio and a few Perl utilities for statistics | + CV // The library itself | + Include // External library interface | + _Include // Internal library interface | + Make // Project file | + Src // Source files | + CVAux // Additional (experimental) stuff. | + Docs // documentation | + HTML // overview documentatation in HTML format | + Bin // all the pre-built binaries | + Lib // pre-built import and static libraries | + Apps // Demo Applications | | | + CamShiftDemo // Application - Wrapper for CamShift Tracker Filter | + VMDemo // View Morphing demo | + LkDemo // Lucas-Kanade Pyramid-based Point Tracker | + HMMDemo // Hidden Markov Models Face Recognition Demo | + StereoGR // Stereo-based Gesture Recognition App for PointGrey Stereo Cameras | + Hawk // Scripting Environment | + Common // CImage and CCamera classes | + Filters // Direct Show filters | + CalibFilter // Camera Calibration filter | + CamShift // CamShift tracker | + Condens // ConDensation based tracker | + Kalman // Kalman filter based tracker | + ProxyTrans // Proxy DirectShow filter | + OtherLibs | + _Mkl // Math Kernel Library - used for tests on matrix functions | + _IPL // Image Processing Library - base library for the OpenCV | + HighGUI // Simple GUI library with platform-independed interface | + VlGrFmts // Library for reading/writing raster images | + GestRec // Experimental gesture recognition module | + PtGrey // Interface Module for PointGrey Stereo Camera | + Tests// sources for algorithmic tests
Look at FAQs
Try to select another video format via vidcap utility.
Q: How can I get an answer on my question about OpenCV?
A: Look at FAQs.
For questions, bug reports, patches and suggestions, send email to OpenCV@yahoogroups.com (it
is a mailing list) or to Gary
Bradski at gary.bradski@intel.com. Keep in mind that
this is a free library from a research lab when setting your expectations of
support. If you would like to volunteer to become part of the support
infrastructure please do contact us.