Elemento fotossensível

Módulo do sensor, usado para definir os parâmetros do elemento fotossensível.

Por exemplo:

import csi#importa o módulo do elemento fotossensível
csi0 = csi.CSI()


# Configura a câmara
csi0.reset()#inicializa o elemento fotossensível
csi0.pixformat(csi.RGB565)#define para cor
csi0.framesize(csi.QVGA)#define o tamanho da imagem
csi0.snapshot(time=2000)#salta alguns fotogramas, aguardando que o elemento fotossensível estabilize após a alteração das definições.

# Tira fotografias continuamente
while(True):
    img = csi0.snapshot()#tira uma fotografia; img é um objeto image

Inicialização

  • csi0.reset() inicializa o elemento fotossensível

Definir cor/preto e branco

  • csi0.pixformat() define o modo de pixel.
    • csi.GRAYSCALE: escala de cinza, 8 bits por pixel.
    • csi.RGB565: cor, 16 bits por pixel.

Definir o tamanho da imagem

  • csi0.framesize() define o tamanho da imagem
    • 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 (para imagem de diferença de fotogramas image.find_displacement())
    • csi.B64X64: 64x64 para imagem de diferença de fotogramas image.find_displacement())
    • csi.B128X64: 128x64 (para imagem de diferença de fotogramas image.find_displacement())
    • csi.B128X128: 128x128 (para imagem de diferença de fotogramas image.find_displacement())
    • csi.LCD: 128x160 (para a placa de expansão LCD)
    • csi.QQVGA2: 128x160 (para a placa de expansão LCD)
    • csi.WVGA: 720x480 (para MT9V034)
    • csi.WVGA2:752x480 (para MT9V034)
    • csi.SVGA: 800x600 (apenas para o sensor OV5640)
    • csi.XGA: 1024x768 (apenas para o sensor OV5640)
    • csi.SXGA: 1280x1024 (apenas para o sensor OV5640)
    • csi.UXGA: 1600x1200 (apenas para o sensor OV5640)
    • csi.HD: 1280x720 (apenas para o sensor OV5640)
    • csi.FHD: 1920x1080 (apenas para o sensor OV5640)
    • csi.QHD: 2560x1440 (apenas para o sensor OV5640)
    • csi.QXGA: 2048x1536 (apenas para o sensor OV5640)
    • csi.WQXGA: 2560x1600 (apenas para o sensor OV5640)
    • csi.WQXGA2: 2592x1944 (apenas para o sensor OV5640)

Saltar alguns fotogramas

  • csi0.snapshot(frames=10) salta n fotografias. Após alterar as definições, salta alguns fotogramas e aguarda que o sensor estabilize.

Obter uma imagem

  • csi0.snapshot() tira uma fotografia e devolve um objeto de imagem.

Ganho automático/balanço de brancos/exposição

  • csi0.auto_gain() ativa (True) ou desativa (False) o ganho automático. Ao usar o seguimento de cor, precisa de desligar o ganho automático.

  • csi0.auto_whitebal() ativa (True) ou desativa (False) o balanço de brancos automático. Ao usar o seguimento de cor, precisa de desligar o balanço de brancos automático.

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

    • enable ativa (True) ou desativa (False) a exposição automática. Ligada por predefinição.
    • Se enable for False, exposure_us pode ser usado para definir um tempo de exposição fixo (em microssegundos).

Definir a ROI da janela

csi0.window(roi)

ROI: Region Of Interest, o termo "região de interesse" em processamento de imagem. É a região a processar extraída da imagem a processar.\

csi0.framesize(csi.VGA) # alta resolução
csi0.window((640, 80)) # seleciona a região central de 640*80

O formato de roi é (x, y, w, h). Ver estatísticas de utilização

Definir espelhamento

csi0.hmirror(True)\ Espelhamento horizontal

csi0.vflip(True)\ Espelhamento vertical

Para mais definições do sensor, consulte a documentação oficial chinesa do OpenMV: https://docs.singtown.com/micropython/zh/latest/openmvcam/library/omv.csi.html

results matching ""

    No results matching ""