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