white and cold image colors for M7 (OV7725) => blur image

Dear all,

I have got another camera with OV7725 and the image colors are more hot and more red compare to the M7 which the colors are more white and cold.
This whiteness seems to blur the images like big aperture reduce depth of field.

This other camera uses the OV529 ftom omnivision too, i dont know the dont use special algorythm for AEC, AGC, Gamma correction or whiteblance…
I red the camera datasheet and i tried to modify register to get hotest the camera colors and better quality.

I changed :

  • AEC ROI at address $0D
    AEC before and after Gamma at address $67

but without clear success.

Do you have an idea except to use manual control ?

Hi, we’re about to cut a new firmware release with gamma correction onboard as an algorithm. Also, I bought a camera that uses the O7725 and I plan to dump the register settings from it for use.

Anyway, um you can get a lot of benefit but turning auto gain and auto white balance off quickly. Like in 200ms after the camera turns on. This helps make the colors more saturated. However, it also means the image will be darker.


In place of turning auto gain and auto white balance off after 200ms, i changed the camera registers AEW and AEB in helloworld.py like this :

import sensor, image, time


sensor.__write_reg(0x24, 0x40) #New: 0x40 \ default: 0x75 / OPENMV: 0x58
sensor.__write_reg(0x25, 0x30) #New: 0x30 \ default: 0x63 / OPENMV: 0x48

sensor.skip_frames(time = 200)     # Wait for settings take effect.
clock = time.clock()             

    img = sensor.snapshot()       

That are the low and up limits of stable AGC/AEC operating region.
Using this, it seems to do the same work and the image seems as well to be better exposed and white part are less important.

Give me your point ?

Our register settings aren’t the best since Omnivision won’t share the golden register settings with us. So, it’s possible what you did is better.

This just limits AGC/AEC to that range and it should make the image darker. But also note there’s another region for fast AGC/AEC controlled by VPT(0x26).

This will help you understand how it works

Ok i tested this and it seems ok

sensor.__write_reg(0x24, 0x40) # New: 0x40 \ default: 0x75 / OPENMV: 0x58
sensor.__write_reg(0x25, 0x30) # New: 0x30 \ default: 0x63 / OPENMV: 0x48
sensor.__write_reg(0x26, 0xa1) # New: 0xa1 \ default: 0xD4 / OPENMV: 0xC3
sensor.__write_reg(0x0d, 0x71) # New: 0x71 \ default: 0x41 / OPENMV: 0x41 (0x41/0x51/0x61/0x71 for different AEC/AGC window)

from this datasheet i found from internet (I zipped it because pdf was not accepted).
At the end there is an adviced settings.

Give me your point !
OV7725_Settings.7z (658 KB)