8 from sensor_msgs.msg
import Image
9 from topic_tools
import LazyTransport
15 This class is to preprocess gray spectrogram for classifying.
16 1. Spectral subtraction by spectral subtraction method
17 # 2. Smooth spectrogram
18 # 3. Normalize spectrogram (32FC1 -> 8UC1, make each pixel value 0 ~ 255)
22 super(self.__class__, self).
__init__()
24 rospack = rospkg.RosPack()
26 'sound_classification'),
'train_data')
38 '~output_normalized', Image, queue_size=1)
43 queue_size=1, buff_size=2**24)
49 raw_img = self.
bridge.imgmsg_to_cv2(imgmsg)
55 normalized_img = normalized_img.astype(np.uint8)
58 pubmsg = self.
bridge.cv2_to_imgmsg(subtracted_img)
59 pubmsg.header = imgmsg.header
60 self.
pub.publish(pubmsg)
62 pubmsg = self.
bridge.cv2_to_imgmsg(normalized_img)
63 pubmsg.header = imgmsg.header
67 if __name__ ==
'__main__':
68 rospy.init_node(
'preprocess_gray_image')