Skip to content

Commit 9f7fff0

Browse files
added image output
1 parent b0d6e08 commit 9f7fff0

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

launch/extended_object_detection_oakd_example.launch

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,16 @@
1212

1313
<param name="subscribe_depth" value="true"/>
1414
<param name="rate_limit_sec" value="0.1"/>
15+
<param name="publish_output" value="true"/>
1516

1617

1718
<remap from="camera/image_raw" to="/rgb_stereo_publisher/color/image"/>
1819
<remap from="camera/info" to="/rgb_stereo_publisher/color/camera_info"/>
1920
<remap from="depth/image_raw" to="/rgb_stereo_publisher/stereo/depth"/>
2021
<remap from="depth/info" to="/rgb_stereo_publisher/stereo/camera_info"/>
2122

22-
<rosparam param="selectedOnStartSimple">[40]</rosparam>
23-
<rosparam param="selectedOnStartComplex">[-1]</rosparam>
23+
<rosparam param="selected_on_start_simple_objects">[40]</rosparam>
24+
<rosparam param="selected_on_start_complex_objects">[-1]</rosparam>
2425

2526
</node>
2627

src/extended_object_detection_node/eod_node.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ EOD_ROS::EOD_ROS(ros::NodeHandle nh, ros::NodeHandle nh_p){
6464

6565
// set up publishers
6666
simple_objects_pub_ = nh_p.advertise<extended_object_detection::SimpleObjectArray>("simple_objects",1);
67+
68+
private_it_ = new image_transport::ImageTransport(nh_p_);
69+
output_image_pub_ = private_it_->advertise("detected_image", 1);
6770

6871
// set up message filters
6972
if( !subscribe_depth){
@@ -179,6 +182,8 @@ void EOD_ROS::detect(const eod::InfoImage& rgb, const eod::InfoImage& depth, std
179182
s_it->Identify(rgb, depth, frame_sequence);
180183
//ROS_INFO("Adding...");
181184
add_data_to_simple_msg(&(*s_it), simples_msg, rgb.K);
185+
if(publish_output)
186+
s_it->draw(image_to_draw, cv::Scalar(0, 255, 0));
182187
}
183188

184189
simples_msg.header = header;
@@ -187,6 +192,12 @@ void EOD_ROS::detect(const eod::InfoImage& rgb, const eod::InfoImage& depth, std
187192

188193
simple_objects_pub_.publish(simples_msg);
189194

195+
if(publish_output){
196+
sensor_msgs::ImagePtr detected_image_msg = cv_bridge::CvImage(std_msgs::Header(), "bgr8", image_to_draw).toImageMsg();
197+
output_image_pub_.publish(detected_image_msg);
198+
}
199+
200+
190201
frame_sequence++;
191202
}
192203

src/extended_object_detection_node/eod_node.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ class EOD_ROS{
4949
boost::shared_ptr<RGBDSynchronizer> rgbd_sync_;
5050

5151
ros::Publisher simple_objects_pub_;
52+
image_transport::ImageTransport *private_it_;
53+
image_transport::Publisher output_image_pub_;
5254

5355
// params
5456
bool subscribe_depth;

0 commit comments

Comments
 (0)