rect_array_to_image_marker.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 import rospy
4 from jsk_topic_tools import ConnectionBasedTransport
5 from jsk_recognition_msgs.msg import Rect, RectArray
6 from image_view2.msg import ImageMarker2
7 import jsk_recognition_utils
8 from std_msgs.msg import ColorRGBA
9 from geometry_msgs.msg import Point
10 class RectArrayToImageMarker(ConnectionBasedTransport):
11  def __init__(self):
12  super(RectArrayToImageMarker, self).__init__()
13  self.pub = self.advertise("~output", ImageMarker2, queue_size=1)
14 
15  def subscribe(self):
16  self.sub = rospy.Subscriber("~input", RectArray, self.convert)
17 
18  def unsubscribe(self):
19  self.sub.unregister()
20 
21  def convert(self, msg):
22  marker = ImageMarker2()
23  marker.header = msg.header
24  marker.type = ImageMarker2.LINE_LIST
25  n_colors = min(len(msg.rects), 256)
27  for rect, rect_i in zip(msg.rects, list(range(n_colors))):
28  points = [(rect.x, rect.y),
29  (rect.x, rect.y + rect.height),
30  (rect.x + rect.width, rect.y + rect.height),
31  (rect.x + rect.width, rect.y)]
32  color = cmap[rect_i]
33  color_msg = ColorRGBA(r=color[0], g=color[1], b=color[2])
34  for i, j in ((0, 1), (1, 2), (2, 3), (3, 0)):
35  marker.points.append(Point(x=points[i][0], y=points[i][1]))
36  marker.points.append(Point(x=points[j][0], y=points[j][1]))
37  marker.outline_colors.append(color_msg)
38  marker.outline_colors.append(color_msg)
39  self.pub.publish(marker)
40 
41 
42 if __name__ == '__main__':
43  rospy.init_node('rect_array_to_image_marker')
44  rect_array_to_image_marker = RectArrayToImageMarker()
45  rospy.spin()
msg
node_scripts.rect_array_to_image_marker.RectArrayToImageMarker.unsubscribe
def unsubscribe(self)
Definition: rect_array_to_image_marker.py:18
node_scripts.rect_array_to_image_marker.RectArrayToImageMarker.__init__
def __init__(self)
Definition: rect_array_to_image_marker.py:11
node_scripts.rect_array_to_image_marker.RectArrayToImageMarker
Definition: rect_array_to_image_marker.py:10
node_scripts.rect_array_to_image_marker.RectArrayToImageMarker.convert
def convert(self, msg)
Definition: rect_array_to_image_marker.py:21
node_scripts.rect_array_to_image_marker.RectArrayToImageMarker.subscribe
def subscribe(self)
Definition: rect_array_to_image_marker.py:15
jsk_recognition_utils::color::labelcolormap
def labelcolormap(N=256)
node_scripts.rect_array_to_image_marker.RectArrayToImageMarker.pub
pub
Definition: rect_array_to_image_marker.py:13
node_scripts.rect_array_to_image_marker.RectArrayToImageMarker.sub
sub
Definition: rect_array_to_image_marker.py:16


jsk_perception
Author(s): Manabu Saito, Ryohei Ueda
autogenerated on Fri May 16 2025 03:11:17