# libv4l2_opencv_mat **Repository Path**: aijle_admin/libv4l2_opencv_mat ## Basic Information - **Project Name**: libv4l2_opencv_mat - **Description**: libv4l2_opencv_mat镜像 - **Primary Language**: C++ - **License**: Unlicense - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-01-29 - **Last Updated**: 2023-01-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README libv4l2cpp ==================== It is a C++ wrapper for V4L2 mofified from https://github.com/mpromonet/libv4l2cpp by mpromonet. I added more prints and solved problem which is a video device may have rather than one video resource.And main keypoints I added was opencv Mat BGR format surport. Dependencies ------------ - liblog4cpp5-dev (optional) V4L2 Capture ------------- - create a V4L2 Capture interface using MMAP interface: V4L2DeviceParameters param("/dev/video0", V4L2_PIX_FMT_*, width, height, fps, input_index, verbose); V4l2Capture* videoCapture = V4l2Capture::create(param, V4l2Access::IOTYPE_MMAP); - data are available : timeval timeout; bool isReadable = (videoCapture->isReadable(&timeout) == 1); - read data : size_t nb = videoCapture->read(buffer, bufferSize); V4L2 Output ------------- - To create a V4L2 Output interface using MMAP interface: V4L2DeviceParameters param("/dev/video0", V4L2_PIX_FMT_*, width, height, fps, input_index , verbose); V4l2Output* videoOutput = V4l2Output::create(param, V4l2Access::IOTYPE_MMAP); - data could be written : timeval timeout; bool isWritable = (videoOutput->isWritable(&timeout) == 1); - write data : size_t nb = videoOutput->write(buffer, bufferSize);