Светочувствительный элемент

Модуль датчика (sensor) используется для настройки параметров светочувствительного элемента.

Например:

import csi#подключаем модуль светочувствительного элемента
csi0 = csi.CSI()


# настраиваем камеру
csi0.reset()#инициализируем светочувствительный элемент
csi0.pixformat(csi.RGB565)#устанавливаем цветной режим
csi0.framesize(csi.QVGA)#задаём размер изображения
csi0.snapshot(time=2000)#пропускаем несколько кадров, ждём стабилизации светочувствительного элемента после изменения настроек.

# непрерывная съёмка
while(True):
    img = csi0.snapshot()#делаем снимок, img - это объект image

Инициализация

  • csi0.reset() инициализирует светочувствительный элемент

Настройка цветного/чёрно-белого режима

  • csi0.pixformat() задаёт режим пикселей.
    • csi.GRAYSCALE: градации серого, 8 бит на пиксель.
    • csi.RGB565: цветной, 16 бит на пиксель.

Настройка размера изображения

  • csi0.framesize() задаёт размер изображения
    • csi.QQCIF: 88x72
    • csi.QCIF: 176x144
    • csi.CIF: 352x288
    • csi.QQSIF: 88x60
    • csi.QSIF: 176x120
    • csi.SIF: 352x240
    • csi.QQQQVGA: 40x30
    • csi.QQQVGA: 80x60
    • csi.QQVGA: 160x120
    • csi.QVGA: 320x240
    • csi.VGA: 640x480
    • csi.HQQQVGA: 80x40
    • csi.HQQVGA: 160x80
    • csi.HQVGA: 240x160
    • csi.B64X32: 64x32 (для разностного изображения image.find_displacement())
    • csi.B64X64: 64x64 для разностного изображения image.find_displacement())
    • csi.B128X64: 128x64 (для разностного изображения image.find_displacement())
    • csi.B128X128: 128x128 (для разностного изображения image.find_displacement())
    • csi.LCD: 128x160 (для платы расширения LCD)
    • csi.QQVGA2: 128x160 (для платы расширения LCD)
    • csi.WVGA: 720x480 (для MT9V034)
    • csi.WVGA2:752x480 (для MT9V034)
    • csi.SVGA: 800x600 (только для датчика OV5640)
    • csi.XGA: 1024x768 (только для датчика OV5640)
    • csi.SXGA: 1280x1024 (только для датчика OV5640)
    • csi.UXGA: 1600x1200 (только для датчика OV5640)
    • csi.HD: 1280x720 (только для датчика OV5640)
    • csi.FHD: 1920x1080 (только для датчика OV5640)
    • csi.QHD: 2560x1440 (только для датчика OV5640)
    • csi.QXGA: 2048x1536 (только для датчика OV5640)
    • csi.WQXGA: 2560x1600 (только для датчика OV5640)
    • csi.WQXGA2: 2592x1944 (только для датчика OV5640)

Пропуск кадров

  • csi0.snapshot(frames=10) Пропускает n снимков. После изменения настроек пропустите несколько кадров и подождите, пока датчик стабилизируется.

Получение изображения

  • csi0.snapshot() Делает снимок и возвращает объект image.

Автоматическое усиление/баланс белого/экспозиция

  • csi0.auto_gain() Включает (True) или выключает (False) автоматическое усиление. При использовании цветового трекинга автоматическое усиление нужно отключить.

  • csi0.auto_whitebal() Включает (True) или выключает (False) автоматический баланс белого. При использовании цветового трекинга автоматический баланс белого нужно отключить.

  • csi0.auto_exposure(enable[\, exposure_us])

    • enable включает (True) или выключает (False) автоматическую экспозицию. По умолчанию включена.
    • Если enable равно False, exposure_us можно использовать для установки фиксированного времени экспозиции (в микросекундах).

Настройка окна ROI

csi0.window(roi)

ROI: Region Of Interest, "область интереса" в терминологии обработки изображений. Это область, выделяемая из обрабатываемого изображения для дальнейшей обработки.\

csi0.framesize(csi.VGA) # высокое разрешение
csi0.window((640, 80)) #берём центральную область 640*80

Формат roi - (x, y, w, h). См. раздел про статистику

Настройка отражения

csi0.hmirror(True)\ Горизонтальное отражение

csi0.vflip(True)\ Вертикальное отражение

Дополнительные настройки датчика см. в официальной китайской документации OpenMV: https://docs.singtown.com/micropython/zh/latest/openmvcam/library/omv.csi.html

results matching ""

    No results matching ""