ros中调用opencv绘图测试

环境安装

代码

cpp 复制代码
#include <ros/ros.h>
#include <stdio.h>
#include <image_transport/image_transport.h>
#include <cv_bridge/cv_bridge.h>
#include <sensor_msgs/image_encodings.h>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
 
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/hjb/test_ros/src/opencv_test/pictures/1.png");
  // if(cv_image.empty() )
  //   {
  //       ROS_ERROR("Read the picture failed!");
  //       return -1;
  //   }
  cv::Mat cv_image(600, 800, CV_8UC3, cv::Scalar(255, 255, 255)); // 创建一个300x300像素的画布
 
  //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::circle(cv_image, cv::Point(0, 0), 100, cv::Scalar(0, 0, 255), -1);
  cv::imshow(WINDOW,cv_image);
  cv::waitKey(0);

 
  ros::spin();
  return 0;
}
相关推荐
人才瘾大1 分钟前
多agent系统工程落地:从架构设计到治理体系的完整方法论
人工智能·ai编程
这张生成的图像能检测吗2 分钟前
(论文速读)SphereFormer:用径向窗口解决 LiDAR 远距离稀疏点的信息断连
计算机视觉·点云·3d技术·三维感知
欣欣之王来了2 分钟前
密钥安全:不硬编码密钥的最佳实践
人工智能
魔众8 分钟前
投屏时手机还能用?试试 LinkAndroid 应用投屏
人工智能
weixin_5498083610 分钟前
如何判断AI招聘系统的AI是否原生?
人工智能·ai-native
LuTshoes18 分钟前
context 上下文工程
java·人工智能·spring·ai
xwz小王子20 分钟前
斯坦福宋舒然组 | Memory Anchors:用1%的旧数据拦住机器人模型的遗忘
人工智能·机器人
xsd2024111821 分钟前
高德开源机器人侦查:ABot具身智能全栈开源技术详解与自主巡检实战指南
人工智能
正经教主23 分钟前
【FDE系列】阶段1Day 7:LLM 本质 — 文字接龙机器
人工智能·fde
iNeuOS工业互联网28 分钟前
大模型(DeepSeek)辅助 3D 实时建模 + 拖拽配置:业务可视化应用快速构建实践(标注、巡检与视角控制等)
人工智能·物联网·3d·语言模型·工业互联网