4.20. Resumo¶
Percorreu as partes do pipeline de imagem da câmara que surgem sempre que um script captura um fotograma:
A ótica à frente do sensor — um orifício de estenope como o elemento de formação de imagem mais simples, depois objetivas, que recolhem muito mais luz mantendo ainda o foco, com distância focal, abertura, profundidade de campo e campo de visão como os parâmetros que a aplicação escolhe. As objetivas reais trazem distorção, vignettagem e efeitos do ângulo do raio principal que o sensor e o ISP compensam posteriormente.
A grelha do sensor — um array bidimensional de fotodiodos que converte fotões em carga, com o tempo de exposição e o ganho analógico a trocar brilho por desfocado de movimento e ruído. Os obturadores de varrimento e global determinam como as linhas do array são lidas, e um pequeno conjunto de calibrações no chip — FPN de coluna, nível de preto, pixel defeituoso, sombreamento de objetiva — limpam os dados antes de saírem do chip. Dois barramentos ligam o chip ao MCU: um barramento de controlo I2C lento para registos e um barramento paralelo rápido ou MIPI para pixels.
Cor e o ISP — um array de filtros de cor Bayer dá a cada pixel uma das cores vermelho, verde ou azul; o debayering interpola os dois canais em falta. O processador de sinal de imagem une o resto do pipeline — extração de estatísticas, balanço de brancos automático, debayering, correção da matriz de cor, gama, escalonamento, recorte e um empacotamento final no formato de pixel pedido.
Formatos de pixel — Bayer bruto, RGB888, RGB565, YUV422, escala de cinzentos, BINARY e as saídas comprimidas JPEG / PNG trocam tamanho de memória por fidelidade de cor e compatibilidade com algoritmos a jusante. RGB565 é o padrão para cor final porque se alinha com a largura de palavra do MCU e reduz para metade o custo de memória relativamente ao RGB888.
A API CSI — cinco linhas de configuração mais um ciclo de captura de imagem é a forma de que cada script parte. Os pools de buffer de fotograma (simples, duplo, triplo, FIFO de vídeo ou com gatilho) decidem como a aplicação e a câmara partilham fotogramas; um canal de pré-visualização separado alimenta o programa de depuração ligado sem competir com os buffers da aplicação; os controlos do sensor cobrem orientação, exposição, ganho, balanço de brancos, limite de taxa de fotogramas e um padrão de teste de barras de cor.
Múltiplos sensores e pools de memória – as placas com dois sensores instanciam um
CSIpor chip e executam cada um à sua própria taxa. Por baixo, o pool de buffer de fotograma, a região de pré-visualização, o heap do MicroPython e as alocações de memória rápida menores residem em regiões distintas de RAM, colocadas de modo a que as partes que precisam de velocidade a obtenham e as partes que apenas precisam de tamanho o obtenham também.
Isso é suficiente para retirar um fotograma do sensor com o formato, tamanho de fotograma e exposição corretos para a cena; escolher um modo de buffer de fotograma que corresponda ao tempo de processamento da aplicação; expor uma pré-visualização em direto ao que estiver ligado; e ler a Image de volta para Python pronta a ser processada.
4.20.1. Usar esta referência mais tarde¶
Trate os capítulos de imagem como material de referência, não como uma leitura única. Voltar para refrescar os modos de buffer de fotograma, os formatos de pixel ou o significado de um determinado controlo do sensor é o uso pretendido. A página de referência csi.CSI lista todos os métodos num só lugar quando a questão é apenas «qual é o nome exato desta chamada».
4.20.2. Para onde ir a partir daqui¶
O processamento de imagem é o tema natural a seguir. Com o buffer em mãos e a API csi compreendida, o que resta é o que fazer com os pixels: limiares, deteção de arestas, procura de manchas, deteção de linhas e formas, códigos QR, AprilTags, inferência por aprendizagem automática. O conjunto de ferramentas muda para o módulo image e o seu catálogo de métodos no objeto Image. Tudo desta secção avança; a forma do ciclo, o modo de buffer de fotograma, o formato de pixel — tudo isso é sobre o que os métodos de processamento de imagem operam.