码迷,mamicode.com
首页 > 其他好文 > 详细

CV_Bridge | Image的ROS数据类型与opencv数据类型之间的转换

时间:2018-05-08 22:14:57      阅读:390      评论:0      收藏:0      [点我收藏+]

标签:报错   pac   技术分享   str   wait   col   ack   com   ons   

ros官网的介绍

http://wiki.ros.org/cv_bridge/Tutorials/UsingCvBridgeToConvertBetweenROSImagesAndOpenCVImages

官网存在错误:

技术分享图片

 

深度图的编码方式,官网使用的是mono16,估计是版本更新的问题,该编码方式会报错。

[ERROR] [1525783791.845026210]: Could not convert from ‘16UC1‘ to ‘mono16‘.

 

纠正代码

namespace enc = sensor_msgs::image_encodings;
void depth_Callback(const sensor_msgs::ImageConstPtr& depth_msg)
{
  try
  {
    cv::imshow("depth_view", cv_bridge::toCvShare(depth_msg, enc::TYPE_16UC1)->image);
    cv::waitKey(10);
  }
  catch (cv_bridge::Exception& e)
  {
    ROS_ERROR("Could not convert from ‘%s‘ to ‘mono16‘.", depth_msg->encoding.c_str());
  }

使用 TYPE_16UC1 !!

CV_Bridge | Image的ROS数据类型与opencv数据类型之间的转换

标签:报错   pac   技术分享   str   wait   col   ack   com   ons   

原文地址:https://www.cnblogs.com/gdut-gordon/p/9010973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!