使用海康相机,通过视频码流进行数据的读取和topic发布,例如针对手头一款海康相机设置码流地址:rtsp://admin:Admin12345@192.168.1.65:554。

创建相机节点过程,参考第十一章创建bjtucar包的过程,创建一个bjtucamera的包。
节点的源码如下:
#include <ros/ros.h>
#include <cv_bridge/cv_bridge.h>
#include <std_msgs/String.h>
//#include <sensor_msgs/image_encodings.h>
#include <image_transport/image_transport.h>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
ros::init(argc, argv, "myCamera");
ros::NodeHandle nh; // 声明节点句柄
// ros::Publisher chatter_pub = nh.advertise<std_msgs::String>("image1", 1000);
image_transport::ImageTransport it(nh);
// 告诉节点管理器(roscore)我们要在camera1

本文详细介绍了如何使用海康相机通过视频码流获取数据,并结合OpenCV在ROS中创建节点,实现图像的读取、转换和发布到'image_raw'话题,同时展示了如何在RVIZ中实时监控发布的内容。
最低0.47元/天 解锁文章
3007





