Módulo de Câmera OV5640 FPC#
O Módulo de Câmera OV5640 FPC é um sensor de cor compacto de 5MP com rolling shutter e autofoco. Ele se conecta às placas base da OpenMV Cam através do conector placa-a-placa para montagens de baixo perfil.
Para o datasheet completo, fotos e informações de compra, consulte a página do produto OV5640.
Nota
Não suportada na OpenMV N6 no momento.
Destaques#
Sensor com rolling shutter de 5MP (2592x1944)
Autofoco, abertura F2.0, distância focal variável
Uso#
Transmita vídeo QVGA (320x240) RGB565 — o OV5640 funciona como um módulo de câmera comum para qualquer pipeline de processamento de imagem:
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())
O OV5640 também possui um compressor JPEG embutido — defina o pixformat como csi.JPEG e o sensor entrega quadros comprimidos diretamente à OpenMV Cam pelo barramento de câmera, de modo que o host fica livre para processar em vez de codificar. Controle a qualidade da compressão (0-100) com csi.CSI.quality — números mais altos preservam mais detalhes ao custo de quadros maiores.
Capture quadros JPEG em 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())
Capture quadros JPEG em 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())
Capture quadros JPEG em 5MP completo — 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())
O OV5640 possui uma lente de autofoco com atuador de bobina de voz (voice coil). Dispare uma única passagem de autofoco via csi.CSI.ioctl com csi.IOCTL_TRIGGER_AUTO_FOCUS — o sensor varre o motor de foco uma vez e trava no que estiver à sua frente:
csi0.ioctl(csi.IOCTL_TRIGGER_AUTO_FOCUS)
Reemita o ioctl sempre que a cena mudar — o autofoco é de disparo único, não contínuo.