libv4l backend does not support uncompressed capturing (Bug #3007)
Description
For image analysis, (M)JPEG artifacts are often highly undesirable. I would rather have a lower number of FPS, but get uncompressed image data. This is supported by most webcam by means of different stream modes, e.g. YUV vs. RGB (both uncompressed) vs. MJPEG.
I would expect e.g. CV_CAP_PROP_MODE to be able to be used for choosing the stream modes, but this property only seems to be supported by the CMU and DC1394 backends.
The v4l2 code has an autosetup_capture_mode_v4l2() function which defaults to uncompressed formats ("palette"s), but the libv4l backend does not. (And I don't know enough about libv4l to say whether or why this is the case.) The windows backends (dshow, msmf, ...) also seem to default to MJPEG compression without any way to control this(?).
Associated revisions
Merge pull request #3007 from kobigurk:master
History
Updated by Anna Kogan almost 12 years ago
Hello Hans,
Thank you for reporting the issue. If you could fix the problem on your side, a pull request in our GitHub repo would be highly appreciated!
- Target version set to 3.0
Updated by Maksim Shabunin over 9 years ago
Issue has been transferred to GitHub: https://github.com/Itseez/opencv/issues/4564