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