6 from jsk_topic_tools
import ConnectionBasedTransport
8 from sensor_msgs.msg
import Image
14 super(MaskImageToLabel, self).
__init__()
15 self.
_pub = self.advertise(
'~output', Image, queue_size=1)
18 self.
_sub = rospy.Subscriber(
'~input', Image, self.
_apply)
21 self._sub.unregister()
24 bridge = cv_bridge.CvBridge()
25 mask = bridge.imgmsg_to_cv2(msg, desired_encoding=
'mono8')
27 rospy.logdebug(
'Skipping empty image')
29 label = np.zeros(mask.shape, dtype=np.int32)
31 label[mask == 255] = 1
32 label_msg = bridge.cv2_to_imgmsg(label, encoding=
'32SC1')
33 label_msg.header = msg.header
34 self._pub.publish(label_msg)
37 if __name__ ==
'__main__':
38 rospy.init_node(
'mask_image_to_label')