Quick Links : Main Page - CxCore - CvReference - CvAux - HighGui - FAQ
Other Languages : Chinese(中文)
Welcome to the OpenCV Wiki
This Wiki is intended to support the OpenCV community. The main objective is to share experiences and improve the documentation. Feel free to contribute to it. (Note: if you want more information about WikiWikiWeb systems, look at HelpContents)
Started on 14 Feb 2006.
Page Contents
Introduction
What is OpenCV?
OpenCV (Open Source Computer Vision) is a library of programming functions mainly aimed at real time computer vision.
Example applications of the OpenCV library are Human-Computer Interaction (HCI); Object Identification, Segmentation and Recognition; Face Recognition; Gesture Recognition; Motion Tracking, Ego Motion, Motion Understanding; Structure From Motion (SFM); and Mobile Robotics.
How do I Download OpenCV?
You can either download the last published version for Linux or Windows. Or you can try the CVS version of OpenCV
Installing OpenCV
Getting Started with OpenCV
How do I compile OpenCV and OpenCV programs in Linux? - Also see notes in the Linux section of OS Specific Stuff below
Frequently Asked Questions
Problem Specific Frequently Asked Questions
Tutorials
POSIT tutorial (wiki page incomplete but in progress)
Tutorial on how to use Philips webcam features with OpenCV on Linux
Support, Documentation & Resources
Technical Support
There is no formal technical support for OpenCV, but there is a very active OpenCV Forum at Yahoo Groups where you are welcome to post your questions.
Documentation of Functions
OpenCV Online Resources
The OpenCV China (OpenCV中文站)
The SourceForge main page: http://sourceforge.net/projects/opencvlibrary - Note, the bug and patch trackers on sourceforge are not regularly checked. Submit bugs and patches to the OpenCV Yahoo Group.
The #opencv IRC channel on Freenode -- currently 'Un-official'
OpenCVDotNet - OpenCV wrappers for .NET Framework.
SoftIntegration - OpenCV wrappers for Ch.
OpenCV Naver Community Forum (Korean)
EffortFor3dReconstruction - Community document to bring forward 3D reconstruction in OpenCV
Ideas for the Future of OpenCV
Our SummerOfCode page describes project ideas for the Google Summer of Code. The SummerOfCodeApplication page shows current status of our application to the program.
Mac_OS_X_OpenCV_Port holds specific ideas for OpenCV on Mac OS X
OS Specific Stuff
Linux Version
In beta 5, test programs are not built by default. To build, run "make check" (see CxTest for more information on running and writing tests).
The current distribution of OpenCV (0.9.7 beta 5) does *NOT* work with GCC 4.0 or 4.1. Before compiling, you will have to run the configure script as follows: CXXFLAGS=-fno-strict-aliasing ./configure . GCC 4.0 will *NOT* (but 4.1 will) give *ANY* warning whatsoever that something is wrong (it is a bug of GCC 4.0), but it will *NOT* work, so you have been warned. If this option is not used with GCC 4.0 or 4.1, the resulting library has lots of errors as evidenced by failed tests in the test programs and the test programs segfaulting. Alternatively, you can also use the CVS version. The aliasing bugs are fixed in the CVS version.
Building will fail on x86_64 platforms and GCC 4.0.2 using the beta 5 release with errors about various SSE things like "'__m128d' was not declared" . Since GCC 4 and beta 5 are broken anyway, use the CVS version. GCC 3.2.3 may also work.
Sometimes the configure script may generate a bad makefile for your system if it was generated by a version of autoconf/automake/etc that is too old for your system. For example, you may get linking errors for the library files on x86_64. To fix this, run autoreconf in the root opencv directory (where configure is) to regenerate the scripts. Then run make distclean and run the newly generated configure to generate new makefiles.
Linux OpenCV Camera Compatibility
For some cameras (e.g. Quickcam Express) try running "v4lctl -c /dev/video0 setinput X" to get a valid list of inputs and then set it appropriately with the same command.
Camera |
Type |
Driver |
Tested On |
Tested By |
OpenCV version |
Comments |
ieee1394 |
video1394 |
i686 Linux 2.6 |
from 0.9.6 |
Format7 tested in selfmade code |
||
ieee1394 |
video1394 |
i686 Linux 2.6 |
from 0.9.6 |
Format7 tested in selfmade code |
||
PCI Video Grabber |
i686 Linux 2.6 |
CVS, 0.97 |
Calibrated rig with hardware accelerated stereo |
|||
USB |
i686 Linux 2.6 |
CVS, 0.9.7 |
|
|||
USB |
x86_64 Linux 2.6 |
CVS |
|
|||
USB |
i686 Linux 2.6.8 |
0.9.7 |
|
|||
USB |
i686 Linux 2.6 |
CVS |
|
|||
USB |
x86_64 Linux 2.6 |
CVS |
|
|||
USB |
x86_64 Linux 2.6 |
1.0.0 |
Test date: 2007-03-20 |
|||
Acer Crystal Eye |
USB |
x86_64 Linux 2.6 |
Learner |
1.0.0 |
With a 25 frm/s frame rate, 640*480 resolution |
|
USB |
i686 Linux 2.6 |
Benjamin Dosch |
CVS |
|
||
ieee1394 |
video1394 |
i686 Linux 2.6 |
CVS |
|
||
ieee1394 |
video1394 |
x86_64 Linux 2.6 |
CVS |
|
||
USB |
i686 Linux 2.6 |
CVS |
Test date: 2006-01-22 |
|||
ieee1394 |
video1394 |
x86_64 Linux 2.6 and i686 Linux 2.6 |
Jose Rui Simoes |
CVS, 0.9.7 |
|
|
ieee1394 |
video1394 |
i686 Linux 2.6 |
1.0 |
|
||
GigE |
Prosilica GigE SDK |
i686 Linux 2.6 |
1.0 |
|
||
USB |
spca5xx (v4l) |
i686 Linux 2.6 |
CVS,0.9.7 |
Test date: 2006-03-29 |
||
USB |
spca5xx (v4l) |
i686 Linux 2.6 |
CVS |
Test date: 03/23/2006 |
||
USB |
i686 Linux 2.6 |
CVS |
Test date: 03/23/2006 |
|||
USB |
i686 Linux 2.6 |
CVS |
Test date: 03/23/2006 |
|||
USB |
qc-usb-messenger (v4l) or quickcam_messenger (since 2.6.18) |
i686 Linux 2.6 |
CVS |
Test date: 03/23/2006 |
||
USB |
spca5xx (v4l) |
i686 Linux 2.6 |
CVS |
Test date: 03/23/2006 |
||
Philips Semiconductors SAA7130 |
PCI Video Grabber |
Linux 2.6.15 i686 |
0.9.6, 0.9.7 |
The card works well with kernel 2.6.* and OpenCV |
||
USB |
pwc (v4l) |
i686 Linux 2.6 |
CVS |
Test date: 03/24/2006 |
||
Philips PCVC740K Toucam Pro |
USB |
pwc (v4l) |
i686 Linux 2.6 |
CVS |
Test date: 03/24/2006 |
|
bt848 based TV/Video Grabber |
PCI TV/Video Grabber |
bttv driver from stock kernel (v4l2) |
i686 Linux 2.6 |
CVS |
Test date: 2006-03-29 |
|
bt878 rev 2 based TV/Video Grabber |
PCI TV/Video Grabber |
bttv driver from stock kernel (v4l2) |
i686 Linux 2.6 |
CVS+patch |
Test date: 2006-03-29, patch from OlivierBornet but not yet commited to anonymous access |
|
USB |
i686 Linux 2.6 |
Benjamin Dosch |
CVS |
|||
LG LIC-300 |
USB |
i686 Linux 2.6 |
Jose Luis Múgica |
1.0.0 |
Test date 2007-05-09 |
|
Bluesky BW200 (Similar to Q-Tec 100) |
USB |
i686 Linux 2.6 |
Jose Luis Múgica |
1.0.0 |
Test date 2007-05-17 |
MacOS X Version
OpenCV 1.0 for Mac OSX/Linux/Unix is available on the files section of SourceForge.
Until the next release of OpenCV, there is now a pre-built version (universal binary Private Framework, together with a demo application). You can obtain it from http://www.ient.rwth-aachen.de/~asbach/OpenCV-Private-Framework-1.1.dmg .
Additional information on building and on the current state of development can be found on the Mac_OS_X_OpenCV_Port page.
MacOS X Compatible Cameras
Camera |
Type |
Driver |
Tested On |
Tested By |
OpenCV version |
Comments |
ieee1394 |
video1394 |
MacOS X 10.4.8 |
CVS, 1.0 |
Test date: 2006-11-07 |
||
USB |
uvc |
MacOS X 10.4.8 |
Roman Stanchak |
1.0 |
|
|
USB |
MacOS X 10.4.7 |
CVS |
Test date: 2006-08-09 |
Windows Version
Windows Compatible Cameras
Camera |
Type |
Driver |
Tested On |
Tested By |
OpenCV version |
Comments |
PCI Video Grabber |
Windows XP |
Beta5 |
Calibrated rig with hardware accelerated stereo |
|||
USB |
Windows XP |
Beta5 |
|
|||
USB |
Windows XP |
Beta5 |
Stereo capture with 2 cameras OK |
|||
USB |
DirectX |
Windows XP |
Beta5 |
Cameras OK |
||
IEEE-1394a |
Windows 2000 Pro/XP |
1.0 |
|
|||
GigE Vision |
Windows 2000 Pro/XP |
1.0 |
|
|||
USB |
DirectX |
Windows XP |
1.0 |
Camera OK, Problems with camera selection in stereo configuration |
||
Bluesky BW200 (Similar to Q-Tec 100) |
USB |
Windows XP |
Jose Luis Múgica |
1.0 |
Works perfect. Test date 2007-05-18 |
DirectShow without the hassle
You can use the video input library at http://muonics.net/school/spring05/videoInput/ to avoid the messiness of dealing with DirectShow. It even works for direct capture to the imageData field of an IPL image, though I found that the result was upsidedown and had red and blue switched. (Note from author of videoInput: new version out! With option to have RGB or BGR pixels and loads of other features)
Firewire 1394 cameras without Direct X
You can install the CMU 1394 driver for your camera and then use the API of this driver to capture video from the camera. In this way, you can avoid the use of DirectX. See example for details.
People
Feel free to add yourself here...
P. Girish, India, Neomagic Semiconductors http://www.neomagic.com
- mydreamcome
Michael T. Matibag, michaelmatibag@gmail.com , micmat_aztecx@yahoo.com
- Francisco Bernardo
Le Khanh Thanh,Ha Noi, Viet Nam. comp_vis@yahoo.com
Lismont Kevin, stvv@pandora.be , Belgium
mailto:congthienvn@yahoo.com Pham Cong Thien, Suwon, Korea http://www.hcmuaf.edu.vn/cackhoa/kcntt/nhanvien/pcthien/index.html
Jérôme Landré, France - http://pagesperso-orange.fr/jerome.landre/index_en.xhtml
Lee Seongjoo, Republic of Korea Artificial Intellegence Laboratory, Yonsei University
- Son Do-Lenh
TamasUngi - and his tutorial notes
Phan Anh Vu - Hanoi University of Technology - virces931511@yahoo.com - http://cntt.tv
Oscar Deniz Suarez, Spain http://mozart.dis.ulpgc.es/Gias/oscar.html
- João Quintas, Portugal
Matthew Bennett - Course Leader of BTEC Games Design at Gloucester College and author of http://colourisation.net
Rohan Anil - undergraduate at BITS Pilani Goa Campus , author of http://pam-face-authentication.googlecode.com/
Quick Links : Main Page - CxCore - CvReference - CvAux - HighGui - FAQ
