栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

ubuntu20.04+opencv4.5.5

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ubuntu20.04+opencv4.5.5

环境:
ubuntu20.04
opencv4.5.5
ros: noetic

参考链接:
在ROS中使用OpenCV进行简单的图像处理
ROS中使用opencv
第一个链接注释比较多,第二个链接是搞定的,成功的界面是这样的:

读取opencv的程序:

#include 
#include 
#include 
#include 
#include 
#include 
#include 
 
static const char WINDOW[] = "Image window";
static void help()
{
    printf("nThis program demonstrates converting OpenCV Image to ROS Image messages  n"
        );
 
}
 
int main(int argc, char** argv)
{
  help();
  ros::init(argc, argv, "image_converter");
 
  //Reading an image from the file
  cv::Mat cv_image = cv::imread("/home/qiao/1.png");
  if(cv_image.empty() )
    {
        ROS_ERROR("Read the picture failed!");
        return -1;
    }
 
  //Convert OpenCV image to ROS message
  ros::NodeHandle node;
  image_transport::ImageTransport transport(node);
  image_transport::Publisher image_pub; 
  image_pub=transport.advertise("OutImage", 1);
  ros::Time time=ros::Time::now(); 
 
  cv_bridge::CvImage cvi;
  cvi.header.stamp = time;
  cvi.header.frame_id = "image";
  cvi.encoding = "bgr8";
  cvi.image = cv_image;
 
  sensor_msgs::Image im;
  cvi.toImageMsg(im);
  image_pub.publish(im);
  ROS_INFO("Converted Successfully!");
 
  //Show the image
  cv::namedWindow(WINDOW);
  cv::imshow(WINDOW,cv_image);
  cv::waitKey(0);
 
  ros::spin();
  return 0;
}

后面还需要编译:

mkdir -p 工作区/src
cd 工作区/src
catkin_init_workspace
catkin_create_pkg 工作区 sensor_msgs cv_bridge roscpp std_msgs image_transport
find_package(OpenCV REQUIRED)


include_directories(include ${OpenCV_INCLUDE_DIRS})
include_directories(include ${catkin_INCLUDE_DIRS})
 
add_executable(工作区_node src/工作区_node.cpp)
target_link_libraries(工作区_node ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})
add_dependencies(工作区_node 工作区_gencpp)


cd 工作区
catkin_make

然后就是运行:

roscore
source devel/setup.bash
rosrun 工作区 cpp文件的名字

至此能正确显示图像,流程也是没有问题的。

不过有几个问题我没理清楚:

    opencv是我编译好的4.5.5么,还是ROS自带的?收端怎么收的?
    等我整明白了来还愿!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/717735.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号