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()