Модуль камеры OV5640 FPC¶
Модуль камеры OV5640 FPC — это компактный 5-мегапиксельный цветной датчик с прогрессивной разверткой (rolling shutter) и автофокусом. Он крепится к базовым платам OpenMV Cam через межплатный разъём для низкопрофильных сборок.
Полную техническую документацию, фотографии и сведения о заказе см. на странице продукта OV5640.
Примечание
На данный момент не поддерживается на OpenMV N6.
Ключевые особенности¶
5-мегапиксельный (2592x1944) датчик с прогрессивной разверткой
Автофокус, диафрагма F2.0, переменное фокусное расстояние
Использование¶
Потоковая передача видео QVGA (320x240) RGB565 — OV5640 работает как обычный модуль камеры для любого конвейера обработки изображений:
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 также имеет встроенный JPEG-компрессор — установите pixformat в csi.JPEG, и датчик будет передавать сжатые кадры напрямую в OpenMV Cam по шине камеры, благодаря чему хост остаётся свободным для обработки, а не для кодирования. Управляйте качеством сжатия (0-100) с помощью csi.CSI.quality — более высокие значения сохраняют больше деталей за счёт увеличения размера кадров.
Захват JPEG-кадров с разрешением 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())
Захват JPEG-кадров с разрешением 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())
Захват JPEG-кадров с полным разрешением 5 МП — 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 оснащён объективом с автофокусом на основе звуковой катушки (voice-coil). Запустите один проход автофокуса через csi.CSI.ioctl с csi.IOCTL_TRIGGER_AUTO_FOCUS — датчик один раз перемещает мотор фокусировки и фиксируется на том, что находится перед ним:
csi0.ioctl(csi.IOCTL_TRIGGER_AUTO_FOCUS)
Повторно вызывайте ioctl каждый раз, когда сцена меняется — автофокус срабатывает однократно, а не непрерывно.