使用ROS发布16bit原始图像
前提:当你有一个相机SDK但不拥有其ROS版本
目标:将你的读程序改写成ROS版本
问题:发布的内容并不是8位图像,而是14位raw图,每个像素灰度被2个字节存储
手段:依旧是采用cv_bridge将图像转换成cv::Mat进行发布
—————————————————————正文————————————————————————
近期有一个开发项目是将红外热像仪进行ROS架构下的采集开发,已经拥有了红外热像仪的开发sdk,但是缺少其ros版本。因此首先需要做的是将该sdk改写成ros版本,构成ros节点。
1.按照ros教程创建自己的功能包(creating a ROS package)
这里很关键的是,需要修改CMakeLists.txt和package.xml文件内容以保证你的节点能够链接到相关的库文件和生成相应的可执行文件。
CMakeLists.txt中
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
sensor_msgs
cv_bridge
image_transport
)
FIND_PACKAGE( OpenCV REQUIRED )
include_directories(
# include
${catkin_INCLUDE_DIRS}
/home/yang/Desktop/catkin_ws/src/tau2camera-ros/inc
)
add_executable(tau2_test_node src/tau2_ros_node.cpp)
add_executable(tau2_raw_image_pub src/tau2_raw_image_pub.cpp)
add_executable(tau2_raw_image_sub src/tau2_raw_image_sub.cpp)
target_link_libraries(tau2_test_node
${catkin_LIBRARIES}
netprob
)
target_link_libraries(tau2_raw_image_pub
${OpenCV_LIBS}
${catkin_LIBRARIES}
netprob
)
target_link_libraries(tau2_raw_image_sub
${OpenCV_LIBS}
${catkin_
ROS发布16位图像

最低0.47元/天 解锁文章
2150





