官网链接
http://wiki.ros.org/image_transport/Tutorials
说明了程序的下载地址,以及需要搭建的package的步骤
编译
直接在里面src文件夹里添加好
my_publisher.cpp
和my_subscriber.cpp
后,返回到工作空间所在目录,catkin_make进行编译注:在此处CMakeList等文件已经修改好了,无需再动(之前的教程里说的是直接从git上下载下来的,亲测没问题)
添加环境变量
- 用source命令,按照观望的教程添加变量
运行
Publisher
rosrun image_transport_tutorial my_publisher /home/yourusername/下载/imagergb.png
Subscriber
rosrun image_transport_tutorial my_subscriber
可能遇到的问题
- 提示
package 'image_transport_tutorial' not found
,这是因为没有添加环境变量成功,打开~/.bashrc
,在最后添加如下环境变量source /home/yourusername/image_transport_ws/devel/setup.bash
,再重新运行即可
预期结果
- publisher和subscriber都运行起来时,会将图像显示出来
- 可以用
rqt_grapph
观察node之间的消息传递
后续扩展部分
- 打开之前编辑的
my_publisher.cpp
和my_subscriber.cpp
,查看代码,找出哪里cvMat开始出现的地方,就可以利用opencv对图像的传输进行预处理和后处理了。 - 比如安装好kinect后,将my_subscriber.cpp中的topic改为
camera/rgb/image_color
,即可发现可以实时获取图像了