4 from jsk_recognition_msgs.msg
import ClassificationResult
5 from jsk_topic_tools
import ConnectionBasedTransport
8 from sensor_msgs.msg
import Image
12 classifier_name =
'label_image_classifier'
15 super(LabelImageClassifier, self).
__init__()
18 self.
pub = self.advertise(
19 '~output', ClassificationResult, queue_size=1)
22 self.
sub = rospy.Subscriber(
'~input', Image, self.
_cb)
27 def _cb(self, imgmsg):
28 bridge = cv_bridge.CvBridge()
29 img = bridge.imgmsg_to_cv2(imgmsg)
31 msg = ClassificationResult()
32 msg.header = imgmsg.header
35 msg.label_proba = [proba[label]]
36 msg.probabilities = proba
42 counts = np.bincount(label_img.flatten(),
45 label = np.argmax(counts)
46 proba = counts.astype(np.float32) / counts.sum()