Python sensor_msgs.msg 模块,CompressedImage() 实例源码

我们从Python开源项目中,提取了以下8个代码示例,用于说明如何使用sensor_msgs.msg.CompressedImage()

项目:yolo_light    作者:chrisgundling    | 项目源码 | 文件源码
def updateImage(self, img):
        arr = self.bridge.imgmsg_to_cv2(img,"bgr8") 
        # Uncomment following two lines for CompressedImage topic
        #np_arr = np.fromstring(img.data, np.uint8)
        #arr = cv2.imdecode(np_arr, cv2.IMREAD_COLOR)
        if self.image_lock.acquire(True):
            self.img = arr
            if self.model is None:
                self.model = self.get_model()
            self.img_out, self.boxes = self.predict(self.model, self.img)
            self.img_out = np.asarray(self.img_out[0,:,:,:])
            for box in self.boxes:
                if 'traffic light' in box['label']:
                    cv2.rectangle(self.img_out,(box['topleft']['x'], 
                                                box['topleft']['y']), 
                                                (box['bottomright']['x'], 
                                                box['bottomright']['y']), 
                                                (255,0,0), 6)
                    cv2.putText(self.img_out, box['label'], 
                               (box['topleft']['x'], 
                               box['topleft']['y'] - 12), 0, 0.6, (255,0,0) ,6//3)

            print(self.img_out.shape)
            self.image_lock.release()
项目:rosbag2video    作者:mlaiacker    | 项目源码 | 文件源码
def filter_image_msgs(topic, datatype, md5sum, msg_def, header):
    if(datatype=="sensor_msgs/CompressedImage"):
        if (opt_topic != "" and opt_topic == topic) or opt_topic == "":
            print "############# USING ######################" 
            print topic,' with datatype:', str(datatype)
            return True;
    if(datatype=="theora_image_transport/Packet"):
        if (opt_topic != "" and opt_topic == topic) or opt_topic == "":
            print topic,' with datatype:', str(datatype)
#            print "############# USING ######################"
            print '!!! theora not supportet, sorry !!!' 
            return False;
    if(datatype=="sensor_msgs/Image"):
        if (opt_topic != "" and opt_topic == topic) or opt_topic == "":
            print "############# USING ######################" 
            print topic,' with datatype:', str(datatype)
            return True;    
    return False;
项目:AS_6Dof_Arm    作者:yao62995    | 项目源码 | 文件源码
def __init__(self, width, height):
        self.width = width
        self.height = height
        self.image = None
        self.image_y = None
        self.camera_sub = rospy.Subscriber("/camera/image_raw/compressed", CompressedImage,
                                           callback=self.callback_camera, queue_size=1)
        self.camera_sub_y = rospy.Subscriber("/camera_y/image_raw/compressed", CompressedImage,
                                             callback=self.callback_camera_y, queue_size=1)
项目:ros-interop    作者:mcgill-robotics    | 项目源码 | 文件源码
def from_msg(cls, msg):
        """Serializes a ROS Image message into a compressed PNG image.

        Args:
            msg: ROS Image or CompressedImage message.

        Returns:
            Compressed PNG image.

        Raises:
            CvBridgeError: On image conversion error.
        """
        if isinstance(msg, CompressedImage):
            # Decompress message.
            msg = cls.from_raw(msg.data)

        # Convert ROS Image to OpenCV image.
        bridge = CvBridge()
        img = bridge.imgmsg_to_cv2(msg)

        # Convert to PNG with highest level of compression to limit bandwidth
        # usage. PNG is used since it is a lossless format, so this can later
        # be retrieved as a ROS image without issue.
        compression = [cv2.IMWRITE_PNG_COMPRESSION, 9]
        png = cv2.imencode(".png", img, compression)[1].tostring()

        return png
项目:ros-interop    作者:mcgill-robotics    | 项目源码 | 文件源码
def from_raw(cls, raw, compress=False):
        """Deserializes binary-encoded image data into a ROS Image message.

        Args:
            raw: Binary encoded image data.
            compress: Whether to return a compressed image or not.

        Returns:
            ROS Image or CompressedImage message.

        Raises:
            CvBridgeError: On image conversion error.
        """
        # Convert to OpenCV image.
        nparr = np.fromstring(raw, np.uint8)
        img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)

        # Convert to ROS message.
        bridge = CvBridge()
        msg = bridge.cv2_to_imgmsg(img)

        if compress:
            data = cls.from_msg(msg)
            msg = CompressedImage()
            msg.format = "png"
            msg.data = data

        return msg
项目:diy_driverless_car_ROS    作者:wilselby    | 项目源码 | 文件源码
def __init__(self):

      """ROS Subscriptions """
      self.image_sub = rospy.Subscriber("/raspicam_node/image/compressed",CompressedImage,self.cvt_image) 
      self.cmdVelSub = rospy.Subscriber("/cmd_vel", Twist, self.callback)
      self.baseVelocityPub = rospy.Publisher('/cmd_vel_stamped', TwistStamped, queue_size=10)

      """ Variables """
      self.secs = 0
      self.nsecs = 0
      self.last = 0
      self.cmdvel = Twist()
      self.baseVelocity = TwistStamped()
      self.flag = 0
项目:yolo_light    作者:chrisgundling    | 项目源码 | 文件源码
def __init__(self, get_model_callback, model_callback):
        rospy.init_node('tlight_model')
        self.model = get_model_callback()
        self.get_model = get_model_callback
        self.predict = model_callback
        self.bridge = CvBridge()
        self.boxes = None
        self.img =  None
        self.img_out = None
        self.image_lock = threading.RLock()
        #self.sub = rospy.Subscriber('/left_camera/image_color/compressed', CompressedImage, self.updateImage) # Use for CompressedImage topic
        self.sub = rospy.Subscriber('/image_raw', Image, self.updateImage, queue_size=1)
        self.pub = rospy.Publisher('/out_image', Image, queue_size=1)
        rospy.Timer(rospy.Duration(0.04), self.callbackImage)
项目:nimo    作者:wolfram2012    | 项目源码 | 文件源码
def detect_and_visualize(self, root_dir=None, extension=None,
                             classes=[], thresh=0.6, show_timer=False):

        global imgi
        global img_rect
        global Frame
        global show
        global trackpos
        global imshow
        global acc_pub
        global acc_enable

        acc_pub = rospy.Publisher("acc_cmd", ACCCommand, queue_size=2)
        acc_enable = rospy.Publisher("acc_enable", Bool, queue_size=2)
        # rospy.Timer(rospy.Duration(0.02), self.trackCallback)
        rospy.Subscriber("/zed/left/image_rect_color/compressed",CompressedImage, self.ImgCcallback,  queue_size = 4)
        # rospy.Subscriber("/zed/left/image_rect_color",Image, self.Imgcallback,  queue_size = 4)
        rospy.Subscriber("/zed/depth/depth_registered",Image, self.DepthImgcallback,  queue_size = 4)
        im_path = '/home/wolfram/mxnet/example/ssd/data/demo/dog.jpg'
        with open(im_path, 'rb') as fp:
            img_content = fp.read()

        trackpos = 0
        imshow = 0
        imgi = mx.img.imdecode(img_content)
        while(1):

            # ret,img_rect = cap.read()
            dets = self.im_detect(root_dir, extension, show_timer=show_timer)
            # if not isinstance(im_list, list):
            #     im_list = [im_list]
            # assert len(dets) == len(im_list)
            # for k, det in enumerate(dets):

            # img[:, :, (0, 1, 2)] = img[:, :, (2, 1, 0)]
            # img = img_rect.copy()
            self.visualize_detection(img_rect, dets[0], classes, thresh)

            if imshow == 1:
                cv2.imshow("tester", show)

            if cv2.waitKey(1) & 0xFF == ord('q'):
                break
        cap.release()
        cv2.destroyAllWindows()