I'm using Yocto on Wandboard.
I've seen posts regarding this issue several months back that say OpenCV and Wandcam don't play well together.
Is this still the case?
I've backed off on using OpenCV directly to retrieve the image from Wandcam, and I have been able to
use V4L2 to retrieve *something*. The image received has valid characteristics but I have not been able to successfully
convert the image data into something that OpenCV will recognize or display.
So, four questions:
1) what options do I have (aside from OpenCV) to display an image?
2) will Wandcam ever support OpenCV?
3) assuming OpenCV still doesn't directly support Wandcam for image retrieval, is it valid to try to use
V4L2 to do the image retrieval, then convert the image to iplimage format (opencv)?
4) if it turns out that I *can't* use OpenCV with WandBoard/Wandcam, is this a limitation of Wandboard
a limitation in the iMX6/linux/driver?
Partially answering my own question here...
I managed to get Wandcam to work with OpenCV. I did something similar (but not identical) to what is described here: Computer Vision on i.MX Processors. If I understand the content of that page correctly, its doing basically the same thing I'm doing, and it involves a very tedious loop in C to convert each frame from YUV to RGB24 (needed by OpenCV).
I had thought that this was the job of the IPU in the iMX6. The text on that page implies that this is some incompatibility with MIPI/CSI cameras and the mxc driver; however, it appears to me that this is an incompatibility between the YUV format (put out by the camera) and the IPU of the iMX6.
I assume this works with Gstreamer because it has this format conversion loop (C-code) built into it already. Is that true?
Is this an incompatibility between the output format of some cameras and the IPU's ability to convert? If yes, then shouldn't I "carefully" select an onboard camera that IS supported by the IPU? I'd rather not waste CPU cycles just to convert from one image format to another if the IPU can do it for me...
Can someone explain this to me?