Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用OpenCv设置BGR24格式?_Opencv_V4l2_Bgr - Fatal编程技术网

如何使用OpenCv设置BGR24格式?

如何使用OpenCv设置BGR24格式?,opencv,v4l2,bgr,Opencv,V4l2,Bgr,我有一个V4L2相机,可以抓取JPEG格式或YUV422或BGR24格式的帧。我想把相机调到BGR24@640x480通过OpenCV。为此,我进行了以下设置: capture = cvCreateCameraCapture(0); cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_WIDTH, 640 ); cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT, 480 ); cvSetC

我有一个V4L2相机,可以抓取JPEG格式或YUV422或BGR24格式的帧。我想把相机调到BGR24@640x480通过OpenCV。为此,我进行了以下设置:

capture = cvCreateCameraCapture(0);
cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_WIDTH, 640 );
cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT, 480 );
cvSetCaptureProperty( capture, CV_CAP_PROP_FOURCC, CV_FOURCC('B', 'G', 'R', '3'));  
但是opencv返回了以下错误消息:

HIGHGUI ERROR: V4L: Property <unknown property string>(6) not supported by device

问候您

我会检查您是否使用了正确的摄像头

如果在
cvCreateCameraCapture(N)
中有多个不同N的摄影机,则应在它们之间循环

除此之外,我会检查网络摄像头本身是否符合UVC规范。V4L可能在查询凸轮参数时遇到问题


仅仅因为相机支持某种格式的捕获,如果它不严格遵守Usb视频类,OpenCV就不能保证能够检测到它能够以那种格式捕获,而且据我所知,不能强迫它这样做

谢谢@Totero,我肯定会使用/dev/video0,因为我没有任何其他插入式摄像头。我的V4L2摄像头不是基于UVC的,因为我为它构建了驱动程序(它不是USB摄像头,它基于微控制器摄像头接口)。你确定CV_CAP_PROP_FOURCC调用标准UVC设置(而不是V4L2 IOCTL)吗?对于USB设备,V4L2调用UVC(),但看到你的相机不是USB的-我的假设很差。。。那么我想说的是,V4L和您的自定义驱动程序之间存在一个明确的问题。您的openCV代码是正确的。也许你应该把这个问题作为一个驱动程序问题(在这里和dsp堆栈上)重新发布,也许有人已经遇到了这个问题。V4L2应该比UVC更通用:它可以处理不同类型的相机(不仅仅是USB)。UVC只是V4L2的一个子层,它只能与USB一起工作。是的。这是正确的。我再次为假设你的相机是USB而道歉。但在我的评论中,我确实指定了“用于USB设备”。我肯定会把这个问题作为一个关于自定义驱动程序和V4L的问题来回答。这里没有OpenCV问题。
gst-launch-0.10 v4l2src num-buffers=10 device=/dev/video0 ! 'video/x-raw-rgb,width=640,height=480,bpp=24,depth=24,red_mask=255,green_mask=65280,blue_mask=16711680,endianness=4321' ! filesink location=/tmp/output10.rgb24