JPEG 형식 또는 YUV422 또는 BGR24로 프레임을 잡을 수있는 V4L2 카메라가 있습니다. OpenCV로 카메라를 BGR24 @ 640x480으로 설정하고 싶습니다. 이를 위해, 나는 다음과 같은 설정했다 :OpenCv로 BGR24 형식을 설정하는 방법은 무엇입니까?
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의 다음과 같은 오류 메시지가 저를 다시 제공 : 그래서, OpenCV의 대신 BGR24의 640 × 480 형식 @ JPEG 설정
HIGHGUI ERROR: V4L: Property <unknown property string>(6) not supported by device
합니다. 어떻게 해결할 수 있습니까?
참고 : 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
종류가
감사합니다. @Totero, 다른 모든 카메라가 연결되어 있지 않아/dev/video0을 사용해야합니다. V4L2 카메라는 UVC를 기반으로하지 않습니다 (USB 카메라가 아니며 마이크로 컨트롤러 카메라 인터페이스를 기반으로합니다). CV_CAP_PROP_FOURCC가 V4L2 ioctls가 아닌 표준 UVC 설정을 호출하고 있습니까? – aldo85ita
USB 장치의 경우 V4L2가 UVC (http://www.kernel.org/doc/Documentation/video4linux/uvcvideo.txt)를 호출합니다. – Totero
하지만 카메라가 USB가 아닌 것을 보는 것 - 저의 가정이 좋지 않습니다 ... 그렇다면 V4L과 사용자 정의 드라이버 사이에 확실한 문제가 있다고 말할 수 있습니다. 귀하의 openCV 코드가 맞습니다. 아마 당신은 문제를 드라이버 문제 (여기서는 dsp 스택)로 재 게시해야 할 것입니다. 아마도 누군가이 문제를 이미 접했을 것입니다. – Totero