繁体   English   中英

无法使用ROS CvBridge和OpenCV发布USB摄像机图像

[英]Can't publish Usb camera image with ROS CvBridge and OpenCV

我正在尝试使用usb_camera,ros_bridge发布opencv图像。 主题已发布,但看不到任何图像或错误。 我可以看到usb_camera图片

class image_converter:
  def __init__(self):
    self.image_pub = rospy.Publisher("/image_converter/image_topic_2",Image, queue_size=10)
    self.bridge = CvBridge()
    self.image_sub =     rospy.Subscriber("/webcam/image_raw",Image,self.callback)

  def callback(self,data):
    try:
      cv_image = self.bridge.imgmsg_to_cv2(data, "bgr8")
    except CvBridgeError as e:
      print(e)
    grey = cv2.cv_image(cv_image,(7,7))
    edges =cv2.canny(grey,15.0,30.0)

    try:
    self.image_pub.publish(self.bridge.cv2_to_imgmsg(edges, "bgr8"))
    except CvBridgeError as e:
      print(e)

def main(args):
  image_converter()
  rospy.init_node('image_converter', anonymous=True)
  try:
    rospy.spin()
  except KeyboardInterrupt:
    print("Shutting down")
  cv2.destroyAllWindows()

if __name__ == '__main__':
    main(sys.argv)

在您的main功能中,应先调用rospy.init_node ,然后再进行与ROS相关的任何事情,例如创建发布者/订阅者。

不知道,我缺乏python的疯狂技能,但是您只是在调用类的“构造函数”而不将其分配给任何东西,这是否意味着它的refcount为0并自动被垃圾回收?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM