Procesamiento de imágenes
Un sistema de inspección funciona de forma impecable durante las pruebas. En la línea, de repente, señala defectos que nadie ve, y más por la tarde que por la mañana. El algoritmo es inocente: la luz ha cambiado. En el procesamiento de imágenes, la iluminación decide lo que aparece en la imagen. Ningún filtro recupera después lo que la cámara nunca vio.
La luz es una herramienta, no un accesorio
Un fotógrafo de estudio no pregunta primero por la cámara, sino por dónde está la luz. En el procesamiento de imágenes ocurre lo mismo. La guía de National Instruments menciona cuatro parámetros de ajuste: la geometría, es decir, la disposición de pieza, luz y cámara; la estructura, es decir, la forma de la luz sobre la pieza; la longitud de onda, es decir, el color; y los filtros, que bloquean determinadas longitudes de onda o direcciones de la luz. Quien ajusta estos cuatro de forma deliberada necesita después menos algoritmo.
Geometría: campo claro o campo oscuro
Lo decisivo es hacia dónde refleja la luz una superficie lisa. Si el reflejo entra en la cámara, la superficie se ve clara y cualquier alteración aparece oscura: campo claro. Si la luz llega rasante desde un lado, la superficie lisa la refleja fuera de la cámara y permanece oscura. Solo los bordes, los arañazos y los relieves dispersan luz hacia el objetivo y se iluminan: campo oscuro. De ello resultan los tipos constructivos más importantes:
| Iluminación | Efecto | Tarea típica |
|---|---|---|
| Retroiluminación | silueta oscura sobre fondo claro | Dimensiones, taladros, presencia; para piezas redondas brillantes, telecéntrica en lugar de difusa |
| Anillo de luz, ángulo rasante | campo oscuro: superficie lisa oscura, relieves claros | arañazos, relieves, grabados |
| Luz coaxial | luz a lo largo del eje de la cámara, se aprovecha el brillo | piezas planas y reflectantes |
| Cúpula (domo) | luz desde casi todas las direcciones, apenas reflejos | piezas curvas y brillantes |
| Luz estructurada | línea o patrón proyectado | altura y forma, por ejemplo mediante una línea láser |
Dos detalles marcan a menudo la diferencia. La retroiluminación difusa produce un efecto de borde en piezas redondas brillantes, como ejes o tornillos; la luz telecéntrica dirigida lo evita en gran medida. Y una cúpula solo es eficaz si está cerca de la pieza.
Longitud de onda: color contra color
Una regla sencilla llega lejos: la luz del mismo color que una superficie la hace parecer clara, y la luz del color complementario, oscura. Una inscripción roja sobre cartón blanco casi desaparece bajo luz roja. Bajo luz verde o azul se vuelve oscura y con buen contraste. Por eso, una cámara monocroma con luz de color suele ser mejor opción que una cámara en color con luz blanca.
También más allá del espectro visible hay herramientas. La luz infrarroja compensa las diferencias de color, por ejemplo cuando una impresión cambiante perturba la inspección de forma, y penetra más en algunos plásticos. La luz azul penetra menos y es adecuada para características situadas directamente en la superficie. La luz ultravioleta excita la fluorescencia.
Filtros y luz ambiente
Contra la luz de la nave y el sol hay tres recursos: destellos de luz cortos e intensos que eclipsan la luz ambiente y, de paso, congelan el movimiento; un cerramiento; y filtros. Un filtro paso banda que solo deja pasar la longitud de onda de los propios LED mantiene fuera mucha luz ambiente. Los filtros polarizadores, colocados por parejas en la luz y en la cámara, atenúan el brillo. Pero absorben mucha luz, y una exposición más larga vuelve a provocar falta de nitidez por movimiento.
Comparar iluminaciones de forma objetiva
«Se ve mejor» no es un criterio. Fotografíe las mismas piezas bajo cada iluminación y mida con qué claridad se distingue la característica del fondo y qué parte de la imagen está saturada:
import cv2
import numpy as np
def bewerte(datei, merkmal, hintergrund):
"""Regiones de la imagen, cada una como (x, y, ancho, alto)"""
bild = cv2.imread(datei, cv2.IMREAD_GRAYSCALE)
def werte(ausschnitt):
x, y, b, h = ausschnitt
return bild[y:y + h, x:x + b].astype(np.float64)
m, g = werte(merkmal), werte(hintergrund)
# Distancia entre las medias en relación con la dispersión: cuanto mayor, más robusto
trennmass = abs(m.mean() - g.mean()) / (m.std() + g.std() + 1e-6)
uebersteuert = np.mean(bild >= 255) * 100
return trennmass, uebersteuert
for datei in ["ringlicht.png", "dunkelfeld.png", "kuppel.png"]:
t, u = bewerte(datei, merkmal=(410, 220, 40, 40), hintergrund=(470, 220, 40, 40))
print(f"{datei}: Trennmaß {t:.1f}, übersteuert {u:.2f} %")
Un índice de separación grande significa que la característica se distingue con seguridad incluso cuando la imagen tiene ruido. Los píxeles saturados ya no contienen información. Evalúe varias piezas y varias tomas, también muestras límite, y elija la iluminación con el mejor peor valor, no la que da la imagen individual más bonita.
De la práctica
En equipos de laboratorio como el lector para PCR digital del proyecto conjunto FREEDOM, nuestro software controla directamente la cámara y los LED. Así, la luz pasa a formar parte del software: la iluminación y la exposición se conmutan conjuntamente, y el ajuste de la luz forma parte de la toma igual que el tiempo de exposición.
Errores típicos
- Luz blanca con cámara en color, donde la luz de color con cámara monocroma aporta más contraste.
- Montar la cúpula a distancia. Las cúpulas difusas solo son eficaces cerca de la pieza.
- Instalar filtros polarizadores por precaución y luego luchar contra la oscuridad con exposiciones largas.
- Aceptar imágenes saturadas. Donde los píxeles están al límite, la información se pierde.
- Dar por constante la luminosidad. El envejecimiento, el calor y la suciedad la modifican. Una pieza de referencia o una toma de control periódica muestran la deriva.
- Olvidar la protección ocular. La luz UV intensa y los láseres necesitan un apantallamiento.
Cómo le ayudamos
- Estudio de viabilidad de procesamiento de imágenes: evaluamos sus imágenes de ejemplo, desarrollamos un prototipo y le recomendamos cámara, iluminación y software, como paquete de inicio a precio fijo.
- Implementación: control de cámara y LED, captación de imágenes y análisis en C#, C++ o Python, hasta la integración en su equipo.
- Su proyecto: Solicite su proyecto o concierte una primera conversación
- Caso de estudio: Software para un lector de PCR digital
Fuentes: National Instruments, «A Practical Guide to Machine Vision Lighting»; Opto Engineering, «Illumination geometries and techniques»; caso de estudio «Software para un lector de PCR digital» (proyecto conjunto FREEDOM del BMBF), casos de estudio de Cadida.
