資源簡介
這是在ROS下同時采集彩色圖和深度圖的代碼包。博客:https://blog.csdn.net/crp997576280/article/details/88377871 對應的代碼包,具體使用步驟可以參考博客。如果你的積分不夠可以留下郵箱,我看到的時候會發送到你的郵箱當中去。

代碼片段和文件信息
/**
?*?
?*?函數功能:采集iaikinect2輸出的彩色圖和深度圖數據,并以文件的形式進行存儲
?*?
?*?
?*?分隔符為 逗號‘,‘
?*?時間戳單位為秒(s) 精確到小數點后6位(us)
?*?
?*?maker:crp
?*?2017-5-13
?*/
#include
#include
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?//將ROS下的sensor_msgs/Image消息類型轉化成cv::Mat。
#include//頭文件sensor_msgs/Image是ROS下的圖像的類型,這個頭文件中包含對圖像進行編碼的函數
#include?
#include?
#include?
#include
#include
#include?
#include
#include?
#include?
using?namespace?std;
using?namespace?cv;
Mat?rgb?depth;
char?successed_flag1?=0successed_flag2=0;
string?topic1_name?=?“/kinect2/qhd/image_color“;?//topic?名稱
string?topic2_name?=?“/kinect2/qhd/image_depth_rect“;
string?filename_rgbdata=“/home/crp/recordData/RGBD/rgbdata.txt“;
string?filename_depthdata=“/home/crp/recordData/RGBD/depthdata.txt“;
string?save_imagedata?=?“/home/crp/recordData/RGBD/“;
bool?display_IMU5211(?unsigned?char?buf[21]?timeval?time_stampstring?&out_result);
void?dispDepth(const?cv::Mat?&in?cv::Mat?&out?const?float?maxValue);
void??callback_function_color(?const?sensor_msgs::Image::ConstPtr??image_data);
void??callback_function_depth(?const?sensor_msgs::Image::ConstPtr??image_data);
int?main(int?argcchar**?argv)
{
????string?out_result;
????namedWindow(“image?color“CV_WINDOW_AUTOSIZE);
????namedWindow(“image?depth“CV_WINDOW_AUTOSIZE);
????ros::init(argcargv“kinect2_listen“);
????if(!ros::ok())
?????????????return?0;
????ros::NodeHandle?n;
????ros::Subscriber?sub1?=?n.subscribe(topic1_name50callback_function_color);
????ros::Subscriber?sub2?=?n.subscribe(topic2_name50callback_function_depth);
????ros::AsyncSpinner?spinner(3);?//?Use?3?threads
????spinner.start();
???string?rgb_str?dep_str;
???struct?timeval?time_val;
???struct?timezone?tz;
???double?time_stamp;
????ofstream?fout_rgb(filename_rgbdata.c_str());
????if(!fout_rgb)
????{
????????????cerr< ????}
????ofstream?fout_depth(filename_depthdata.c_str());
????if(!fout_depth)
????{
?????????cerr< ????}
????while(ros::ok())
????{
?????????????if(?successed_flag1?)
????????????{
?????????????????gettimeofday(&time_val&tz);//us
//??time_stamp?=time_val.tv_sec+?time_val.tv_usec/1000000.0;
?????????????????ostringstream?os_rgb;
?????????????????os_rgb< ?????????????????rgb_str?=?save_imagedata+“rgb/“+os_rgb.str()+“.png“;
??????????????????imwrite(rgb_strrgb);
??????????????????fout_rgb< ??????????????????successed_flag1=0;
??imshow(“image
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-03-10?15:26??save_rgbd_from_kinect2\
?????文件????????6741??2019-03-10?15:26??save_rgbd_from_kinect2\CMakeLists.txt
?????文件????????6799??2016-06-30?15:24??save_rgbd_from_kinect2\CMakeLists.txt~
?????目錄???????????0??2019-03-10?15:25??save_rgbd_from_kinect2\include\
?????目錄???????????0??2019-03-10?16:12??save_rgbd_from_kinect2\include\save_rgbd_from_kinect2\
?????文件????????3131??2019-03-10?15:26??save_rgbd_from_kinect2\package.xm
?????文件????????3131??2016-06-21?14:26??save_rgbd_from_kinect2\package.xm
?????目錄???????????0??2019-03-10?23:40??save_rgbd_from_kinect2\src\
?????文件????????5960??2019-03-10?23:40??save_rgbd_from_kinect2\src\save_rgbd_from_kinect2.cpp
?????文件????????5960??2019-03-10?23:40??save_rgbd_from_kinect2\src\save_rgbd_from_kinect2.cpp~
- 上一篇:偽終端實現GSM
- 下一篇:labview手繪波形
評論
共有 條評論