OpenMV Cam H7 Plus Resolutions

Hi folks,

The OpenMV Cam H7 Plus finally started shipping. However, the OV5640 driver isn’t as fast some folks might like just yet.

Right now, we support the following resolutions:

// C/SIF Resolutions
{88, 72 }, /* QQCIF /
{176, 144 }, /
QCIF /
{352, 288 }, /
CIF /
{88, 60 }, /
QQSIF /
{176, 120 }, /
QSIF /
{352, 240 }, /
SIF /
// VGA Resolutions
{40, 30 }, /
QQQQVGA /
{80, 60 }, /
QQQVGA /
{160, 120 }, /
QQVGA /
{320, 240 }, /
QVGA /
{640, 480 }, /
VGA /
{60, 40 }, /
HQQQVGA /
{120, 80 }, /
HQQVGA /
{240, 160 }, /
HQVGA /
// FFT Resolutions
{64, 32 }, /
64x32 /
{64, 64 }, /
64x64 /
{128, 64 }, /
128x64 /
{128, 128 }, /
128x64 /
// Other
{128, 160 }, /
LCD /
{128, 160 }, /
QQVGA2 /
{720, 480 }, /
WVGA /
{752, 480 }, /
WVGA2 /
{800, 600 }, /
SVGA /
{1024, 768 }, /
XGA /
{1280, 1024}, /
SXGA /
{1600, 1200}, /
UXGA /
{1280, 720 }, /
HD /
{1920, 1080}, /
FHD /
{2560, 1440}, /
QHD /
{2048, 1536}, /
QXGA /
{2560, 1600}, /
WQXGA /
{2592, 1944}, /
WQXGA2 */

Do sensor.set_framesize(sensor.WQXGA) and etc. to set the res. Note that you will get a higher fps with sensor.set_pixformat(sensor.JPEG) versus RGB565 for higher resolutions. Generally, don’t use anything over VGA for image processing. It’s too slow. Only use the higher resolutions for taking pictures. As for a good high res that doesn’t stress the system too much. I recommend QXGA and setting the pixformat to JPEG for high quality jpeg images.

With the latest firmware release you should see that everything works and produces nice images. As for increasing the FPS… so, an issue with the OV5640 is that it has too many pixels to down-scale while still having a fast speed. Right now, the driver is configured not to crop the image and to downscale. This limits the max frame rate to about 20 FPS in QVGA mode. The chip can go a lot faster however if I crop the image. Given that, the driver needs to be upgraded to allow you to specify a crop amount which will let you get very high frame rates at the expense of your FOV being reduced.

I have plans to roll this out in the next firmware release. However, we are backlogged on projects right now. I’m currently working on an interface library which is the highest priority right now as it will allow the camera to connect to other devices. We will improve the OV5640 driver afterwards. Note that JPEG quality is reduced right now also at really high resolutions because they exceed the DMCI DMA max transfer size. We have a software fix for this too that needs to get done. Finally, Larry (our code optimizer) already cleaned up some of our image transfer code so we should be able to hit an 80 MHz pixel clock on very framesize/format which will improve the speed too (this is up from 64 MHz at higher resolutions).

Last, then the documentation will get updated.

If you want the H7 RAM ability but faster image processing speed attach the OV7725 camera to it. While the OV7725 isn’t able to operate at high res… it will have a larger field of view than the OV5640 with a faster FPS.