Skip to content

v4l2 to oepncv mat,surport V4L2_PIX_FMT_YUYV,V4L2_PIX_FMT_MJPEG,V4L2_PIX_FMT_NV12,V4L2_PIX_FMT_YVU420,V4L2_PIX_FMT_YUV420

License

Notifications You must be signed in to change notification settings

xxradon/libv4l2_opencv_mat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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);
    

About

v4l2 to oepncv mat,surport V4L2_PIX_FMT_YUYV,V4L2_PIX_FMT_MJPEG,V4L2_PIX_FMT_NV12,V4L2_PIX_FMT_YVU420,V4L2_PIX_FMT_YUV420

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published