V4L2

video for linux 2


v4L2是针对uvc免驱usb设备的编程框架 ,主要用于采集usb摄像头等




HIGHGUI ERROR: V4L2: Pixel format of incoming image is unsupported by OpenCV
Unable to stop the stream.: Bad file descriptor



遇到问题的解释链接:https://www.linuxquestions.org/questions/programming-9/opencv-pixel-format-of-incoming-image-is-unsupported-by-opencv-842801/

Make sure that you have video for linux control panel installed (v4l2ucp) and also ensure that you have the v4l2convert.so in /usr/lib/libv4l/ (it should all be part of the video for linux package I think?

root@localhost~# aptitude install v4l2ucp

then run v4l2ucp, go to preview->configure preview in the video for linux control panel (v4l2ucp) application it should have as the enviroment and application to launch for the view, eg. mplayer or whatever you set it to.

LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so as the environment variable
and tv:// as the argument

the key here is setting v4l2convert.so as a preloader to the viewer, which i think converts the device stream from the camera to a format suitable for v4l2 devices. If you do this before running your opencv application it should fix the problem.

just cd to the directory of your application and type

LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so ./youropencvapp

or you can add it as an environment variable in your launch configuration if you are working with an IDE such as eclipse

Hope this helps someone!

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读