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 CSI por 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.