2016-07-20 787 views
0

所以我有一个类,在它的init函数中,我订阅了一个相机,它的回调函数是在我的类中创建的。即:取消订阅ROS主题 - 蟒蛇

class example(object): 
    def __init__(self): 
    rospy.subscriber("/cameras/left_hand_camera/image",Image,self.callback_viewer) 
    def callback_viewer(self,data): 
    try: 
     cv_image = self.bridge.imgmsg_to_cv2(data, "bgr8") 
    except CvBridgeError as e: 
     print(e) 
    cv2.imshow("window", cv_image) 

所以我的项目的目的,我需要创建另一个类,其中,除了做一些其他的东西,退订所有它当前订阅的主题。但我不知道如何使用列出的未订阅者功能here

任何人都可以帮助我,那我将如何使用该功能?

回答

2

我不明白到底你做什么,但是当你订阅一个主题,你可以写这样的事情:

sub = rospy.subscriber("/cameras/left_hand_camera/image",Image,self.callback_viewer) 

然后,当你不得不取消您只需要做:

sub.unregister() 

希望这回答你的问题。