def _apply(self, feature_msg, label_msg):
     bridge = cv_bridge.CvBridge()
     label = bridge.imgmsg_to_cv2(label_msg)
     desc = np.array(feature_msg.descriptors)
     desc = desc.reshape((-1, feature_msg.descriptor_dim))
     pos = np.array(feature_msg.positions)
     pos = pos.reshape((-1, 2))
     if label.sum() == 0:
         jsk_logdebug('Skip image with only background label')
         return
     decomposed = decompose_descriptors_with_label(descriptors=desc,
                                                   positions=pos,
                                                   label_img=label,
                                                   skip_zero_label=True)
     X = np.array(decomposed.values())
     if X.size == 0:
         return
     X = self.bof.transform(X)
     normalize(X, copy=False)
     self._pub.publish(
         VectorArray(
             header=feature_msg.header,
             vector_dim=X.shape[1],
             data=X.reshape(-1),
         ))
 def _apply(self, feature_msg, label_msg):
     bridge = cv_bridge.CvBridge()
     label = bridge.imgmsg_to_cv2(label_msg)
     desc = np.array(feature_msg.descriptors)
     desc = desc.reshape((-1, feature_msg.descriptor_dim))
     pos = np.array(feature_msg.positions)
     pos = pos.reshape((-1, 2))
     decomposed = decompose_descriptors_with_label(
         descriptors=desc, positions=pos, label_img=label,
         skip_zero_label=True)
     X = self.bof.transform(np.array(decomposed.values()))
     normalize(X, copy=False)
     self._pub.publish(
         VectorArray(
             header=feature_msg.header,
             vector_dim=X.shape[1],
             data=X.reshape(-1),
         ))
 def _apply(self, feature_msg, label_msg):
     bridge = cv_bridge.CvBridge()
     label = bridge.imgmsg_to_cv2(label_msg)
     desc = np.array(feature_msg.descriptors)
     desc = desc.reshape((-1, feature_msg.descriptor_dim))
     pos = np.array(feature_msg.positions)
     pos = pos.reshape((-1, 2))
     decomposed = decompose_descriptors_with_label(descriptors=desc,
                                                   positions=pos,
                                                   label_img=label,
                                                   skip_zero_label=True)
     X = self.bof.transform(np.array(decomposed.values()))
     normalize(X, copy=False)
     self._pub.publish(
         VectorArray(
             header=feature_msg.header,
             vector_dim=X.shape[1],
             data=X.reshape(-1),
         ))
 def _apply(self, feature_msg, label_msg):
     bridge = cv_bridge.CvBridge()
     label = bridge.imgmsg_to_cv2(label_msg)
     desc = np.array(feature_msg.descriptors)
     desc = desc.reshape((-1, feature_msg.descriptor_dim))
     pos = np.array(feature_msg.positions)
     pos = pos.reshape((-1, 2))
     if label.sum() == 0:
         jsk_logdebug('Skip image with only background label')
         return
     decomposed = decompose_descriptors_with_label(
         descriptors=desc, positions=pos, label_img=label,
         skip_zero_label=True)
     X = np.array(decomposed.values())
     if X.size == 0:
         return
     X = self.bof.transform(X)
     normalize(X, copy=False)
     self._pub.publish(
         VectorArray(
             header=feature_msg.header,
             vector_dim=X.shape[1],
             data=X.reshape(-1),
         ))