Moduł kamery OV5640 FPC

Moduł kamery OV5640 FPC to kompaktowy 5-megapikselowy kolorowy sensor z migawką typu rolling shutter i autofokusem. Montuje się go na płytach bazowych OpenMV Cam poprzez złącze board-to-board, co umożliwia niskoprofilowe konstrukcje.

OV5640

Pełną dokumentację techniczną, zdjęcia oraz informacje o zamówieniu znajdziesz na stronie produktu OV5640.

Informacja

Obecnie nieobsługiwany na OpenMV N6.

Najważniejsze cechy

  • Sensor 5MP (2592x1944) z migawką typu rolling shutter

  • Autofokus, przysłona F2.0, zmienna ogniskowa

Użycie

Strumieniuj wideo QVGA (320x240) w formacie RGB565 — OV5640 działa jak zwykły moduł kamery dla dowolnego potoku przetwarzania 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 ma również wbudowany kompresor JPEG — ustaw pixformat na csi.JPEG, a sensor dostarcza skompresowane ramki bezpośrednio do OpenMV Cam przez magistralę kamery, dzięki czemu host pozostaje wolny do przetwarzania zamiast kodowania. Steruj jakością kompresji (0-100) za pomocą csi.CSI.quality — wyższe wartości zachowują więcej szczegółów kosztem większych ramek.

Przechwytuj ramki JPEG w rozdzielczości 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())

Przechwytuj ramki JPEG w rozdzielczości 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())

Przechwytuj ramki JPEG w pełnej rozdzielczości 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 ma obiektyw z autofokusem napędzanym cewką drgającą (voice coil actuator). Wyzwól pojedynczy przebieg autofokusu za pomocą csi.CSI.ioctl z csi.IOCTL_TRIGGER_AUTO_FOCUS — sensor jednokrotnie przesuwa silnik ostrości i blokuje się na tym, co znajduje się przed nim:

csi0.ioctl(csi.IOCTL_TRIGGER_AUTO_FOCUS)

Wydaj ioctl ponownie za każdym razem, gdy scena się zmienia — autofokus działa jednorazowo, nie w trybie ciągłym.