## cv_camera ### 简介 cv_camera节点采用OpenCV捕获视频设备,发布图像和相机信息话题。 驱动包中提供了Autolabor云台相机的标定参数和原始图像。 用户可直接启动launch查看矫正前后的数据。 如果你在寻找 ROS2 驱动程序,请查看 [这里](https://github.com/Kapernikov/cv_camera)。 ### 使用方法 #### 1、依赖项 安装image_proc包,用于矫正图像。 ```bash sudo apt-get install ros-noetic-image-proc ``` #### 2、编译和安装 首先,将这个包克隆到你的 ROS 工作空间的 `src` 目录下,然后使用以下命令编译: ```bash cd ~/catkin_ws # 或你的工作空间目录 catkin_make # 或使用 catkin build,如果你使用 catkin_tools ``` #### 3、修改launch文件 在 `cv_camera.launch` 文件中,修改 `device_path` 参数。 可以通过以下命令查看设备路径: ```bash ls /dev/v4l/by-path ``` #### 4、启动launch文件 使用以下命令启动系统: ```bash roslaunch cv_camera camera1920.launch ``` 该launch文件会启动一个节点,发布分辨率为1920x1080的图像以及矫正后的图像。 ### 文件说明 - launch文件夹: - camera1280.launch:发布分辨率为1280x720的图像以及矫正后的图像。 - camera1920.launch:发布分辨率为192x1080的图像以及矫正后的图像。 - camera3840.launch:发布分辨率为3840x2160的图像以及矫正后的图像。 - calibrationdata文件夹: - 1280x720.yaml :分辨率为1280x720的相机标定参数。 - 1920x1080.yaml:分辨率为1920x1080的相机标定参数。 - 3840x2160.yaml:分辨率为3840x2160的相机标定参数。 - 12880x720.tar.gz:分辨率为1280x720的标定图像。 - 1920x1080.gz:分辨率为1920x1080的标定图像。 - 3840x2160.gz:分辨率为3840x2160的标定图像。 ### 发布的话题 * `~image_raw` (*sensor_msgs/Image*) * `~camera_info` (*sensor_msgs/CameraInfo*) ### 服务 * `~set_camera_info` (*sensor_msgs/SetCameraInfo*) ### 参数 * `~rate` (*double*, 默认值: 30.0) – 发布频率 [Hz]。 * `~device_id` (*int*, 默认值: 0) – 捕获设备 ID。 * `~device_path` (*string*, 默认值: "") – 相机设备文件路径,例如 `/dev/video0`。 * `~frame_id` (*string*, 默认值: "camera") – 消息头的 `frame_id`。 * `~image_width` (*int*) – 尝试设置捕获图像的宽度。 * `~image_height` (*int*) – 尝试设置捕获图像的高度。 * `~camera_info_url` (*string*) – 相机信息 yaml 文件的 URL。 * `~file` (*string*, 默认值: "") – 如果不为空,则使用电影文件而不是设备。 * `~capture_delay` (*double*, 默认值: 0) – 捕获和接收图像的估计持续时间。 * `~rescale_camera_info` (*bool*, 默认值: false) – 自动缩放相机校准信息。 * `~camera_name` (*bool*, 默认值: 与 `frame_id` 相同) – `camera_info_manager` 的相机名称。 支持 CV_CAP_PROP_*,通过以下参数。 * `~cv_cap_prop_pos_msec` (*double*) * `~cv_cap_prop_pos_avi_ratio` (*double*) * `~cv_cap_prop_frame_width` (*double*) * `~cv_cap_prop_frame_height` (*double*) * `~cv_cap_prop_fps` (*double*) * `~cv_cap_prop_fourcc` (*double*) * `~cv_cap_prop_frame_count` (*double*) * `~cv_cap_prop_format` (*double*) * `~cv_cap_prop_mode` (*double*) * `~cv_cap_prop_brightness` (*double*) * `~cv_cap_prop_contrast` (*double*) * `~cv_cap_prop_saturation` (*double*) * `~cv_cap_prop_hue` (*double*) * `~cv_cap_prop_gain` (*double*) * `~cv_cap_prop_exposure` (*double*) * `~cv_cap_prop_convert_rgb` (*double*) * `~cv_cap_prop_rectification` (*double*) * `~cv_cap_prop_iso_speed` (*double*)