<<StackHeader(vision_opencv)>>

<<TOC(4)>>


== Documentation ==

The `vision_opencv` stack provides packaging of the popular OpenCV library for ROS. For information about the OpenCV library, please see the OpenCV main page at http://opencv.org/
links to complete documentation for OpenCV, as well as other OpenCV resources (like the bug tracker on http://code.opencv.org/)

For OpenCV 
`vision_opencv` provides several packages:
 * [[cv_bridge]]: Bridge between ROS messages and OpenCV.
 * [[image_geometry]]: Collection of methods for dealing with image and pixel geometry

In order to use ROS with OpenCV, please see the [[cv_bridge]] package.

As of electric, OpenCV is a system dependency.

== Using OpenCV in your ROS code ==

OpenCV2 is the official version supported on Indigo and Jade. To use it, you just need to add a dependency on opencv2 and find_package it in your CMakeLists.txt as you would for any third party package:

{{{
   find_package(OpenCV)
   include_directories(${OpenCV_INCLUDE_DIRS})
   target_link_libraries(my_awesome_library ${OpenCV_LIBRARIES})
}}}

You can also use OpenCV3: in that case, add a dependency to opencv3. But make sure that none of your dependencies depends on OpenCV2 (as you would get linked to both the OpenCVs which would most likely create a symbol conflict).

If you have OpenCV2 installed and ROS OpenCV3, OpenCV3 will be find_package-ed first. If you do not want to compile against OpenCV3 but still wish to have it installed, just find_package OpenCV2 as follows:

{{{
   find_package(OpenCV 2 REQUIRED)
}}}

== Report an OpenCV specific Bug ==

If your issue is related to the OpenCV packaged in ROS (it is too old, you would like to see a backport in there ...), please file a bug for vision_opencv using  the link provided at the top of this page.

For issues specific to OpenCV:

 * Send your question to the [[http://answers.opencv.org/|OpenCV Answers]].
 * [[https://github.com/Itseez/opencv/issues|Report a bug]].

== Tutorials ==

{{attachment:cvbridge.png|cvbridge.png|width=300}}

 * To learn how to interface OpenCV with ROS, read the tutorials [[cv_bridge/Tutorials|here]].
 * For more information about OpenCV, read the documentation on [[http://docs.opencv.org/|OpenCV documentation]] or the tutorials on [[http://docs.opencv.org/doc/tutorials/tutorials.html|OpenCV tutorials]].
 * ''OpenCV development meetings are listed'' [[http://code.opencv.org/projects/opencv/wiki/Meeting_notes | here]]

== OpenCV3 ==

Since Indigo, there is a package for OpenCV3. Information about it is detailed at [[opencv3]].

##Please create this page with template "PackageReviewIndex"
## CategoryStack
## CategoryStackROSPKG