Kamerový modul OV5640 FPC

Kamerový modul OV5640 FPC je kompaktní 5MP barevný senzor s rolling shutter a autofokusem. K základním deskám OpenMV Cam se připojuje přes konektor board-to-board pro nízkoprofilové sestavy.

OV5640

Kompletní datasheet, fotografie a informace o objednání najdete na produktové stránce OV5640.

Poznámka

V současné době není podporováno na OpenMV N6.

Hlavní vlastnosti

  • 5MP (2592x1944) senzor s rolling shutter

  • Autofokus, clona F2.0, proměnná ohnisková vzdálenost

Použití

Streamování QVGA (320x240) RGB565 videa — OV5640 funguje jako běžný kamerový modul pro libovolnou pipeline zpracování obrazu:

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 má také vestavěný JPEG kompresor — nastavte pixformat na csi.JPEG a senzor dodává komprimované snímky přímo do OpenMV Cam přes kamerovou sběrnici, takže hostitel zůstává volný pro zpracování namísto kódování. Kvalitu komprese (0-100) řiďte pomocí csi.CSI.quality — vyšší čísla zachovají více detailů za cenu větších snímků.

Pořizování JPEG snímků v 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())

Pořizování JPEG snímků v 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())

Pořizování JPEG snímků v plných 5MP — 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 má autofokusovou čočku ovládanou voice-coil aktuátorem. Spusťte jeden průchod autofokusu pomocí csi.CSI.ioctl s csi.IOCTL_TRIGGER_AUTO_FOCUS — senzor jednou projede zaostřovacím motorkem a zafixuje se na to, co má před sebou:

csi0.ioctl(csi.IOCTL_TRIGGER_AUTO_FOCUS)

Vydejte ioctl znovu pokaždé, když se scéna změní — autofokus je jednorázový, nikoli kontinuální.