作者: Sam (甄峰)
sam_code@hotmail.com
0.vision_opencv简介:
这个stack是ROS的OpenCV Interface。这个stack包含两个Package。cv_bridge,
image_geometry.
主要用来将sensor::Image (ROS)和cv::Mat(OpenCV)之间数据转换。
cv_bridge: ROS Message和OpenCV之间的桥接。
image_geometry: Collection
of methods for dealing with image and pixel geometry
为了在ROS中使用OpenCV,主要使用cv_bridge Package.
在Indigo和Jade,OpenCV2 作为官方版本存在。要使用它,必须增加dependency on
opencv2并使用find_package() 在CMakeLists.txt.
find_package(OpenCV) include_directories(${OpenCV_INCLUDE_DIRS}) target_link_libraries(my_awesome_library ${OpenCV_LIBRARIES})
也可以使用openCV3.
1. 概念:
ROS中,image使用sensor_msga/Image Message
格式。CvBridge是一个ROS库,它提供一个接口在ROS和OpenCV之间 。
稍后研究。
class CvImage
{
public:
std_msgs::Header header; //!< ROS header
std::string encoding; //!< Image encoding ("mono8", "bgr8", etc.)
cv::Mat image; //!< Image data for use with OpenCV
typedef boost::shared_ptr Ptr;
typedef boost::shared_ptr ConstPtr;
{
public:
std_msgs::Header header; //!< ROS header
std::string encoding; //!< Image encoding ("mono8", "bgr8", etc.)
cv::Mat image; //!< Image data for use with OpenCV
typedef boost::shared_ptr Ptr;
typedef boost::shared_ptr ConstPtr;