4.20. Resumen¶
Has recorrido las partes de la pila de imagen de la cámara que aparecen cada vez que un script captura un fotograma:
La óptica frente al sensor – un orificio estenopeico como el elemento formador de imagen más simple, luego las lentes, que recogen mucha más luz mientras siguen enfocando, con la distancia focal, la apertura, la profundidad de campo y el campo de visión como los parámetros entre los que elige la aplicación. Las lentes reales presentan distorsión, viñeteado y efectos de ángulo de rayo principal que el sensor y el ISP compensan después.
La cuadrícula del sensor – una matriz bidimensional de fotodiodos que convierte fotones en carga, donde el tiempo de exposición y la ganancia analógica equilibran el brillo frente al desenfoque de movimiento y el ruido. Los obturadores rodante y global determinan cómo se leen las filas de la matriz, y un pequeño conjunto de calibraciones en el chip – FPN de columna, nivel de negro, píxel defectuoso, sombreado de lente – limpian los datos antes de que salgan del chip. Dos buses conectan el chip con el MCU: un bus de control I2C lento para los registros y un bus paralelo o MIPI rápido para los píxeles.
El color y el ISP – una matriz de filtros de color Bayer da a cada píxel uno de los colores rojo, verde o azul; el debayering interpola los dos canales faltantes. El procesador de señal de imagen une el resto de la canalización – extracción de estadísticas, balance de blancos automático, debayering, corrección de matriz de color, gamma, escalado, recorte y un empaquetado final en el formato de píxel solicitado.
Los formatos de píxel – Bayer en bruto, RGB888, RGB565, YUV422, escala de grises, BINARY y las salidas comprimidas JPEG / PNG equilibran el tamaño de memoria frente a la fidelidad de color y la compatibilidad con los algoritmos posteriores. RGB565 es el predeterminado para color terminado porque se alinea con el ancho de palabra del MCU y reduce a la mitad el costo de memoria respecto a RGB888.
La API de CSI – cinco líneas de configuración más un bucle de snapshot es la forma con la que comienza todo script. Los grupos de búferes de fotogramas (simple, doble, triple, FIFO de vídeo o disparado) deciden cómo comparten fotogramas la aplicación y la cámara; un canal de vista previa separado alimenta cualquier programa de depuración conectado sin competir por los búferes de la aplicación; los parámetros del sensor cubren orientación, exposición, ganancia, balance de blancos, límite de tasa de fotogramas y un patrón de prueba de barras de color.
Múltiples sensores y grupos de memoria – las placas con dos sensores instancian un
CSIpor chip y ejecutan cada uno a su propia tasa. Por debajo, el grupo de búferes de fotogramas, la región de vista previa, el montículo de MicroPython y las asignaciones de memoria rápida más pequeñas residen en regiones distintas de la RAM, ubicadas de modo que las partes que necesitan velocidad la obtengan y las partes que solo necesitan tamaño obtengan eso en su lugar.
Eso es suficiente para sacar un fotograma del sensor con el formato, el framesize y la exposición adecuados para la escena; elegir un modo de búfer de fotogramas que se ajuste al tiempo de procesamiento de la aplicación; exponer una vista previa en vivo a lo que sea que esté conectado; y leer la Image de vuelta en Python lista para operar sobre ella.
4.20.1. Uso de esta referencia más adelante¶
Trata los capítulos de imagen como material de referencia, no como una lectura de una sola pasada. Volver a repasar los modos de búfer de fotogramas, los formatos de píxel o el significado de un parámetro de sensor concreto es el uso previsto. La página de referencia de csi.CSI enumera todos los métodos en un solo lugar cuando la pregunta es simplemente «cuál es el nombre exacto de esta llamada otra vez».
4.20.2. Hacia dónde ir a partir de aquí¶
El procesamiento de imágenes es el siguiente tema natural. Con el búfer en mano y la API de csi comprendida, lo que queda es qué hacer con los píxeles: umbrales, detección de bordes, búsqueda de manchas, detección de líneas y formas, códigos QR, AprilTags, inferencia de aprendizaje automático. El conjunto de herramientas pasa al módulo image y a su catálogo de métodos sobre el objeto Image. Todo lo de esta sección se traslada hacia adelante; la forma del bucle, el modo de búfer de fotogramas, el formato de píxel – todo ello es sobre lo que operan los métodos de procesamiento de imágenes.