Modul de cameră OV5640 FPC

Modulul de cameră OV5640 FPC este un senzor color compact cu obturator rulant de 5MP și autofocus. Se montează pe plăcile de bază OpenMV Cam prin conectorul placă-la-placă pentru construcții cu profil redus.

OV5640

Pentru fișa tehnică completă, fotografii și comenzi, consultați pagina de produs OV5640.

Notă

Neacceptat momentan pe OpenMV N6.

Aspecte principale

  • Senzor cu obturator rulant de 5MP (2592x1944)

  • Autofocus, diafragmă F2.0, distanță focală variabilă

Utilizare

Transmiteți video QVGA (320x240) RGB565 — OV5640 funcționează ca un modul de cameră obișnuit pentru orice flux de procesare a imaginii:

import csi
import time

csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.QVGA)
clock = time.clock()

while True:
    clock.tick()
    img = csi0.snapshot()
    print(clock.fps())

OV5640 are de asemenea un compresor JPEG integrat — setați pixformat la csi.JPEG și senzorul livrează cadre comprimate direct către OpenMV Cam prin magistrala camerei, astfel încât gazda rămâne liberă pentru procesare în loc de codificare. Controlați calitatea compresiei (0-100) cu csi.CSI.quality — numerele mai mari păstrează mai multe detalii cu prețul unor cadre mai mari.

Capturați cadre JPEG la 1280x720 (HD):

import csi
import time

csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.JPEG)
csi0.framesize(csi.HD)
csi0.quality(90)
clock = time.clock()

while True:
    clock.tick()
    img = csi0.snapshot()
    print(clock.fps())

Capturați cadre JPEG la 1920x1080 (FHD):

import csi
import time

csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.JPEG)
csi0.framesize(csi.FHD)
csi0.quality(90)
clock = time.clock()

while True:
    clock.tick()
    img = csi0.snapshot()
    print(clock.fps())

Capturați cadre JPEG la 5MP complet — 2592x1944 (WQXGA2):

import csi
import time

csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.JPEG)
csi0.framesize(csi.WQXGA2)
csi0.quality(90)
clock = time.clock()

while True:
    clock.tick()
    img = csi0.snapshot()
    print(clock.fps())

OV5640 are o lentilă cu autofocus acționată de bobină mobilă. Declanșați o singură trecere de autofocus prin csi.CSI.ioctl cu csi.IOCTL_TRIGGER_AUTO_FOCUS — senzorul baleiază motorul de focalizare o dată și se fixează pe orice se află în fața lui:

csi0.ioctl(csi.IOCTL_TRIGGER_AUTO_FOCUS)

Reemiteți ioctl-ul ori de câte ori se schimbă scena — autofocusul este unic, nu continuu.