У меня есть камера 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
Итак, openCV установил формат JPEG@640x480 вместо BGR24. Как я могу это исправить?
ПРИМЕЧАНИЕ. Формат BGR24 был протестирован со следующим конвейером gstreamer и работает правильно:
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
С уважением