Skip to content

Commit c39443a

Browse files
committed
fixes #4 finished ros1 demo
1 parent e048f94 commit c39443a

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

example/GigeCam/main_ros.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,20 +41,21 @@ class CamDriver {
4141

4242
// 自定义回调函数
4343
void ImageCallback(const void *msg, size_t) {
44-
const auto *cam_data = static_cast<const infinite_sense::CamData *>(msg);
45-
std_msgs::msg::Header header;
46-
header.stamp = rclcpp::Time(cam_data->time_stamp_us * 1000);
47-
header.frame_id = "map";
44+
const auto *cam_data = static_cast<const CamData *>(msg);
4845
const cv::Mat image_mat(cam_data->image.rows, cam_data->image.cols, CV_8UC1, cam_data->image.data);
49-
const sensor_msgs::msg::Image::SharedPtr image_msg = cv_bridge::CvImage(header, "mono8", image_mat).toImageMsg();
50-
image_pub_.publish(image_msg);
46+
sensor_msgs::ImagePtr msg =
47+
// mono8:灰度类型,bgr8:彩图,具体需要根据相机类型进行修改
48+
cv_bridge::CvImage(std_msgs::Header(), "mono8", image_mat).toImageMsg();
49+
msg->header.stamp = CreateRosTimestamp(cam_data->time_stamp_us);
50+
image_pub_.publish(msg);
5151
}
5252
void Init() {
5353
synchronizer_.SetUsbLink("/dev/ttyACM0", 921600);
5454
mv_cam_ = std::make_shared<MvCam>();
5555
mv_cam_->SetParams({{"cam_1", CAM_1}});
5656
synchronizer_.UseSensor(mv_cam_);
5757
imu_pub_ = node_.advertise<sensor_msgs::Imu>(imu_name_, 1000);
58+
image_transport::ImageTransport it_(node_);
5859
image_pub_ = it_.advertise(camera_name_, 30);
5960
synchronizer_.Start();
6061
std::this_thread::sleep_for(std::chrono::milliseconds(5000));
@@ -74,7 +75,6 @@ class CamDriver {
7475

7576
private:
7677
ros::NodeHandle &node_;
77-
image_transport::ImageTransport it_;
7878
ros::Publisher imu_pub_;
7979
image_transport::Publisher image_pub_;
8080
std::shared_ptr<MvCam> mv_cam_;

0 commit comments

Comments
 (0)