# usb_cam_plus **Repository Path**: mhh45/usb_cam_plus ## Basic Information - **Project Name**: usb_cam_plus - **Description**: 在usb_cam的基础上,增加些许功能 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-12-18 - **Last Updated**: 2025-03-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # usb_cam_plus ### 介绍 在[usb_cam ros1版本](https://github.com/ros-drivers/usb_cam/tree/master)的基础上,增加些许功能 ### 功能说明 **原始usb_cam功能:抓取USB相机图像并发布固定ROS话题上**。 在这个基础上新增优化功能如下: 1. **将参数摘取出来放到config文件中,便于自定义设置相机信息,ROS话题等** 2. **支持分割双目相机的左右目,并分别发布在自定义ROS话题中** 3. **支持多个相机接入,可根据不同相机设置不同参数,发布不同信息** 4. **支持图像保存** ### 使用说明 1. 环境安装参考[usb_cam ros1版本](https://github.com/ros-drivers/usb_cam/tree/master) 如,ROSS1,opencv等。 **注意** :记得根据自己的opencv版本修改cmakelist中 _find_package(OpenCV 3.4.3 REQUIRED)_ 2. 编译运行详细同样参考[usb_cam ros1版本](https://github.com/ros-drivers/usb_cam/tree/master) ``` 简要编译运行说明如下: mkdir -p usb_cam_plus_ws/src cd usb_cam_plus_ws/src 将usb_cam_plus项目的usb_cam文件放入src中 cd .. catkin_make source devel/setip.bash //记得一定要source,避免使用了ROS自带的 roslaunch usb_cam myusb_cam-test.launch //注意是否为myusb_cam-test.launch ``` 3. **运行前launch和config文件参数一定要注意** ,其中参数说明如下 **首先修改launch** ``` #设置接入双目相机的数量 #设置config文件的地址,一个相机对应一个config文件 ``` **然后修改config文件,如果多个相机,注意ROS话题不要冲突了** ``` %YAML:1.0 num_of_eye: 2 #support: 1 cam;2 cam; 如果是单目改为1,如果双目改为2 #common parameters video_device: "/dev/video0" #根据这个config文件对应的相机的地址 image_width: 1280 #图像的宽度 image_height: 480 pixel_format: "yuyv" #possible values: yuyv, uyvy, mjpeg, yuvmono10, rgb24 color_format: "yuv422p" #possible values: yuv420p, yuv422p io_method: "mmap" #possible values: mmap, read, userptr #image topic split_image_enbale: 1 #split stereo or not (only support CV_8UC1) 是否需要分割双目图像,如果是单目,会禁止分割 image_topic: "/head_cam/image_raw" #if don't split the image 如果不分割图像或者是个单目,只会将图像发布在这一个话题上 left_image_topic: "/left_cam/image_raw1" #如果分割双目图像,会将左右目分别发布在话题上 right_image_topic: "/right_cam/image_raw1" swap_eyes_enbale: 1 #for some stereo,we need to swap the eyes 有的相机有毛病,左右目是反的,就需要调换左右目 的发布话题 #camera info camera_name: "head_cam" #相机名字,以及图像发布在ROS消息中frame_id camera_frame_id: "head_cam" #calib (disable) #create Services service_start_name: "start_capture1" #开启和关闭相机的ros服务话题 service_stop_name: "stop_capture1" #save image save_image_enbale: 0 #会保存整张图像 save_path: "/home/orangepi/Desktop/musb_ws/src/usb_cam/output/1" #需要提前创建好文件夹 ``` ### 待完善点 1. 保存图像时,分别保存左右目图像(还没写) 2. 如果左右目需要调换,保存下来的图像还是原来没调换左右目的(还没写)