1

所以我有一个类,在它的初始化函数中,我订阅了一个相机,它的回调函数是在我的类中创建的。IE:

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)

因此,为了我的项目的目的,我需要创建另一个类,除了做一些其他的事情之外,它还取消订阅它当前订阅的所有主题。但我不知道如何使用此处列出的取消订阅功能

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

4

1 回答 1

7

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

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

然后,当您必须取消订阅时,您只需执行以下操作:

sub.unregister()

希望这能回答你的问题。

于 2016-07-20T22:32:49.483 回答