4 from jsk_recognition_msgs.msg
import ClassificationResult
5 from jsk_topic_tools
import ConnectionBasedTransport
8 from sensor_msgs.msg
import Image
13 classifier_name =
'label_image_classifier' 16 super(LabelImageClassifier, self).
__init__()
19 self.
pub = self.advertise(
20 '~output', ClassificationResult, queue_size=1)
23 self.
sub = rospy.Subscriber(
'~input', Image, self.
_cb)
28 def _cb(self, imgmsg):
29 bridge = cv_bridge.CvBridge()
30 img = bridge.imgmsg_to_cv2(imgmsg)
32 msg = ClassificationResult()
33 msg.header = imgmsg.header
36 msg.label_proba = [proba[label]]
37 msg.probabilities = proba
43 counts = np.bincount(label_img.flatten(),
46 label = np.argmax(counts)
47 proba = counts.astype(np.float32) / counts.sum()
51 if __name__ ==
'__main__':
52 rospy.init_node(
'label_image_classifier')
def _classify(self, label_img)