자이카 카메라 토픽과 패키지
1. 카메라 패키지와 토픽
패키지
패키지명: usb/cam
패지키 위치: xycar_ws/src/usb_cam
토픽
토픽명:
- /usb_cam/image_raw
- /usb_cam/image_raw/compressed
토픽 타입: sensor_msgs/image
구성:
- std_msgs/Header header
- unit32 seq
- time stamp
- string frame_id
- unit32 height
- unit32 width
- unit8[] data
카메라 노드 실행 런치
<launch>
<node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" >
<param name="video_device" value="/dev/video0" />
<param name="autoexposure" value="false" />
<param name="exposure" value="48" />
<param name="image_width" value="640" />
<param name="image_height" value="480" />
<param name="pixel_format" value="yuyv" />
<param name="camera_frame_id" value="usb_cam" />
<param name="io_method" value="mmap"/>
</node>
세팅 값:
<param name="exposure" value="48"/>
<param name="video_device" value="/dev/video0" />
카메라 토픽과 OpenCV 브릿지
카메라 토픽 OpenCV로 보기
#!/usr/bin/env python
# - *- coding: utf-8 -* -
import cv2
import rospy
import numpy as np
from sensor_msgs.msg import Image
from cv_bridge import CvBridge
bridge = CVBridge()
cv_image = np.empty(shape=[0])
def img_callback(data):
global cv_image
cv_image = bridge.imgmsg_to_cv2(data, "bgr8")
rospy.init_node('cam_tune', anonymous=True)
rospy.Subscriber("/usb_cam/image_raw", Image, img_callback)
while not rospy.is_shutdown ():
if cv_image.size != (640*480*3):
continue
cv2.imshow("original", cv_image)
cv2. waitkey(1)
2. ROS rosbag 사용법
.bag 파일로 저장하기
$ rosbag record -a$
: 발행되고 있는 모든 토픽을 저장
$ rosbag record -O camera /usb_cam/image_raw$
: 카메라 토픽을 camera.bag 파일로 저장
$ rosbag info camera.bag$
: camera.bag 파일의 각종 정보들을 보여줌
bag 파일의 토픽 재생하기
$ rosbag play camera.bag
: 저장한 토픽 재생
$ rosbag play -r 2 camera.bag
: 2배속으로 재생하기
저장된 bag 파일에서 카메라 토픽만 꺼내기
$ rosbag record -O cam_topic /usb_cam/image_raw
$ rosbag play full_topic.bag
동영상 파일로 저장하기
$ rosrun image_view video_recorder image:='/usb_cam/image_raw' _filename:='track2.avi' _fps:=30
$ rosbag play cam_topic.bag
Author And Source
이 문제에 관하여(자이카 카메라 토픽과 패키지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@openjr/자이카-카메라-토픽과-패키지저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)