JPEG image capture from Arducam OV2640 --> Eve2 LCD
Finally got around to figuring out how to capture JPEG images from OV2640 camera module.
Had QVGA preview working for this and other camera modules before:
https://forums.parallax.com/discussion/173418/code-for-arducam-ov2640-camera-module-also-made-to-work-with-ov7675-and-ov5640
Now, this code shows that QVGA preview for a few frames and then captures as JPEG into that QVGA buffer and then saves it to uSD card (or host computer using Plan9).
Main code is in FlexSpin C, but camera driver is in Spin2/assembly
Can currently capture up to 1600x1200, but this can be changed in cam.h.
SVGA and XGA modes can work without any other code changes, but lower resolutions currently need tweaks to code. Reason is that the Arducam library has different pixel clock rates for lower resolutions that needs to be accounted for. Also, clock needs to be ~300 MHz at present, but think can fix that with tweaks to driver.
Update: See a few posts down how now having the jpg image displayed in real time on EVE2 display
Comments
Here's an example image at 1600x1200
Here's what the P2 setup looks like for this:
Nice work👍
Added a 7" EVE2 TFT touchscreen to the mix.
Jpg is still saved to uSD, but now we read that image back in from uSD and send to EVE2 for decompression and display.
Capture resolution is SVGA (800x600) and EVE2 display is 800x480, so bottom of image is not shown. But, good enough for now.
Update rate is about 1 Hz. That could probably be sped up a lot, first thing would be to send image directly to EVE2, instead of to and from uSD...
Arducam has a kickstarter for a new camera that works on SPI call Arducam Mega which is a 3Megapixel/5Megapixel camera.
It will work with all kinds of processors. Arducam Mega Kickstarter
Mike
@iseries interesting, does it mention jpeg compression?
Think would be very slow without…
Looks like it does RGB, YUV, JPEG (8MHz SPI)