Skip to content

Commit c66f7fc

Browse files
#374 added clicking functionality
1 parent 3b201d6 commit c66f7fc

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

atom_rviz_plugins/image_display_with_click/scripts/test_image_display_with_click

+23
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ import cv2
55
import rospy
66

77
from cv_bridge import CvBridge, CvBridgeError
8+
from pynput import keyboard
9+
from pynput.keyboard import KeyCode
10+
from scipy.spatial import distance
811
from sensor_msgs.msg import Image
912
from geometry_msgs.msg import PointStamped
1013

@@ -32,19 +35,35 @@ def callbackImageClickReceived(point_msg):
3235
global points
3336
points.append(point)
3437

38+
def key_pressed(key):
39+
global save
40+
if key == KeyCode.from_char('s'):
41+
print('True')
42+
save = True
3543

3644
def main():
45+
global save
46+
47+
save = False
48+
3749
rospy.init_node('test_image_display_with_click', anonymous=False)
3850

3951
topic_image = rospy.names.remap_name('image_topic')
4052
topic_image_labeled = topic_image + '/labeled'
4153
topic_image_click = topic_image_labeled + '/click'
4254

55+
# Defining acceptable radius
56+
radius = 3
57+
4358
global image
4459
subscriber_image = rospy.Subscriber(topic_image, Image, partial(callbackImageReceived))
4560
subscriber_image_click = rospy.Subscriber(topic_image_click, PointStamped, callbackImageClickReceived)
4661
publisher_image = rospy.Publisher(topic_image_labeled, Image, queue_size=10)
4762

63+
# Defining keyboard listener
64+
keyboard_listener = keyboard.Listener(on_press=key_pressed)
65+
keyboard_listener.start()
66+
4867
cv2.namedWindow('Image', cv2.WINDOW_AUTOSIZE)
4968

5069
rate = rospy.Rate(0.1)
@@ -67,6 +86,10 @@ def main():
6786
image_msg = bridge.cv2_to_imgmsg(gui_image)
6887
publisher_image.publish(image_msg)
6988

89+
if save:
90+
start_to_end_distance = distance.euclidean(points[1], points[-1])
91+
print(start_to_end_distance)
92+
7093
# Show just for debug, not usually used
7194
cv2.imshow("Image", gui_image)
7295
cv2.waitKey(30)

0 commit comments

Comments
 (0)