El procesamiento de imágenes digitales es el uso de una computadora digital para procesar imágenes digitales a través de un algoritmo . [1] [2] Como subcategoría o campo del procesamiento de señales digitales , el procesamiento de imágenes digitales tiene muchas ventajas sobre el procesamiento de imágenes analógicas . Permite aplicar una gama mucho más amplia de algoritmos a los datos de entrada y puede evitar problemas como la acumulación de ruido y distorsión durante el procesamiento. Dado que las imágenes se definen en dos dimensiones (quizás más), el procesamiento de imágenes digitales se puede modelar en forma de sistemas multidimensionales . La generación y el desarrollo del procesamiento de imágenes digitales se ven afectados principalmente por tres factores: primero, el desarrollo de las computadoras; [3] segundo, el desarrollo de las matemáticas (especialmente la creación y mejora de la teoría de las matemáticas discretas); [4] tercero, ha aumentado la demanda de una amplia gama de aplicaciones en el medio ambiente, la agricultura, el ejército, la industria y la ciencia médica. [5]
Muchas de las técnicas de procesamiento de imágenes digitales , o procesamiento de imágenes digitales como a menudo se lo llamaba, se desarrollaron en la década de 1960, en los Laboratorios Bell , el Laboratorio de Propulsión a Chorro , el Instituto Tecnológico de Massachusetts , la Universidad de Maryland y algunas otras instalaciones de investigación, con aplicación a imágenes satelitales , conversión de estándares de fotografía por cable , imágenes médicas , videoteléfono , reconocimiento de caracteres y mejora de fotografías. [6] El propósito del procesamiento de imágenes temprano era mejorar la calidad de la imagen. Estaba destinado a los seres humanos para mejorar el efecto visual de las personas. En el procesamiento de imágenes, la entrada es una imagen de baja calidad y la salida es una imagen con calidad mejorada. El procesamiento de imágenes común incluye la mejora, restauración, codificación y compresión de imágenes. La primera aplicación exitosa fue el Laboratorio Americano de Propulsión a Chorro (JPL). Utilizaron técnicas de procesamiento de imágenes como corrección geométrica, transformación de gradación, eliminación de ruido, etc. en las miles de fotos lunares enviadas por el Space Detector Ranger 7 en 1964, teniendo en cuenta la posición del Sol y el entorno de la Luna. El éxito de la elaboración de un mapa de la superficie lunar por ordenador ha sido un éxito. Más tarde, se realizó un procesamiento de imágenes más complejo de las casi 100.000 fotografías enviadas por la nave espacial, de modo que se obtuvieron el mapa topográfico, el mapa en color y el mosaico panorámico de la Luna, que lograron resultados extraordinarios y sentaron una base sólida para el aterrizaje humano en la Luna. [7]
Sin embargo, el costo del procesamiento era bastante alto con el equipo informático de esa época. Eso cambió en la década de 1970, cuando el procesamiento de imágenes digitales proliferó a medida que se disponía de computadoras más baratas y hardware dedicado. Esto llevó a que las imágenes se procesaran en tiempo real, para algunos problemas dedicados como la conversión de estándares de televisión . A medida que las computadoras de uso general se volvieron más rápidas, comenzaron a asumir el papel de hardware dedicado para todas las operaciones, excepto las más especializadas y de uso intensivo de la computadora. Con las computadoras rápidas y los procesadores de señales disponibles en la década de 2000, el procesamiento de imágenes digitales se ha convertido en la forma más común de procesamiento de imágenes y generalmente se usa porque no solo es el método más versátil, sino también el más barato.
La base de los sensores de imagen modernos es la tecnología de semiconductor de óxido de metal (MOS), [8] inventada en Bell Labs entre 1955 y 1960, [9] [10] [11] [12] [13] [14] Esto condujo al desarrollo de sensores de imagen de semiconductores digitales, incluido el dispositivo de carga acoplada (CCD) y más tarde el sensor CMOS . [8]
El dispositivo acoplado por carga fue inventado por Willard S. Boyle y George E. Smith en Bell Labs en 1969. [15] Mientras investigaban la tecnología MOS, se dieron cuenta de que una carga eléctrica era la analogía de la burbuja magnética y que podía almacenarse en un pequeño condensador MOS . Como era bastante sencillo fabricar una serie de condensadores MOS en fila, les conectaron un voltaje adecuado para que la carga pudiera pasar de uno al siguiente. [8] El CCD es un circuito semiconductor que luego se utilizó en las primeras cámaras de video digitales para transmisión televisiva . [16]
El sensor de píxeles activos NMOS (APS) fue inventado por Olympus en Japón a mediados de la década de 1980. Esto fue posible gracias a los avances en la fabricación de dispositivos semiconductores MOS , con la escala MOSFET alcanzando niveles más pequeños de micrones y luego submicrones . [17] [18] El APS NMOS fue fabricado por el equipo de Tsutomu Nakamura en Olympus en 1985. [19] El sensor de píxeles activos CMOS (sensor CMOS) fue desarrollado posteriormente por el equipo de Eric Fossum en el Laboratorio de Propulsión a Chorro de la NASA en 1993. [20] En 2007, las ventas de sensores CMOS habían superado a las de los sensores CCD. [21]
Los sensores de imagen MOS se utilizan ampliamente en la tecnología de ratones ópticos . El primer ratón óptico, inventado por Richard F. Lyon en Xerox en 1980, utilizaba un chip sensor de circuito integrado NMOS de 5 μm . [22] [23] Desde el primer ratón óptico comercial, el IntelliMouse presentado en 1999, la mayoría de los dispositivos de ratón óptico utilizan sensores CMOS. [24] [25]
Un desarrollo importante en la tecnología de compresión de imágenes digitales fue la transformada de coseno discreta (DCT), una técnica de compresión con pérdida propuesta por primera vez por Nasir Ahmed en 1972. [26] La compresión DCT se convirtió en la base de JPEG , que fue introducido por el Joint Photographic Experts Group en 1992. [27] JPEG comprime las imágenes a tamaños de archivo mucho más pequeños y se ha convertido en el formato de archivo de imagen más utilizado en Internet . [28] Su algoritmo de compresión DCT altamente eficiente fue en gran parte responsable de la amplia proliferación de imágenes digitales y fotografías digitales , [29] con varios miles de millones de imágenes JPEG producidas todos los días a partir de 2015. [actualizar][ 30]
Las técnicas de imágenes médicas producen cantidades muy grandes de datos, especialmente de las modalidades de TC, RMN y PET. Como resultado, el almacenamiento y las comunicaciones de datos de imágenes electrónicas son prohibitivos sin el uso de compresión. [31] [32] La compresión de imágenes JPEG 2000 es utilizada por el estándar DICOM para el almacenamiento y la transmisión de imágenes médicas. El costo y la viabilidad de acceder a grandes conjuntos de datos de imágenes a través de anchos de banda bajos o diversos se abordan además mediante el uso de otro estándar DICOM, llamado JPIP , para permitir la transmisión eficiente de los datos de imágenes comprimidas JPEG 2000. [33]
El procesamiento de señales electrónicas se revolucionó con la amplia adopción de la tecnología MOS en la década de 1970. [34] La tecnología de circuitos integrados MOS fue la base de los primeros microprocesadores y microcontroladores de un solo chip a principios de la década de 1970, [35] y luego los primeros chips procesadores de señal digital (DSP) de un solo chip a fines de la década de 1970. [36] [37] Desde entonces, los chips DSP se han utilizado ampliamente en el procesamiento de imágenes digitales. [36]
El algoritmo de compresión de imágenes de transformada de coseno discreta (DCT) se ha implementado ampliamente en chips DSP, y muchas empresas desarrollan chips DSP basados en la tecnología DCT. Las DCT se utilizan ampliamente para codificación , decodificación, codificación de video , codificación de audio , multiplexación , señales de control, señalización , conversión de analógico a digital , formateo de diferencias de luminancia y color, y formatos de color como YUV444 y YUV411 . Las DCT también se utilizan para operaciones de codificación como estimación de movimiento , compensación de movimiento , predicción entre cuadros , cuantificación , ponderación perceptual, codificación de entropía , codificación variable y vectores de movimiento , y operaciones de decodificación como la operación inversa entre diferentes formatos de color ( YIQ , YUV y RGB ) para fines de visualización. Las DCT también se utilizan comúnmente para chips codificadores/decodificadores de televisión de alta definición (HDTV). [38]
En 1972, el ingeniero de la empresa británica EMI Housfield inventó el aparato de tomografía computarizada de rayos X para el diagnóstico de la cabeza, que es lo que se suele llamar TC (tomografía computarizada). El método del núcleo de la TC se basa en la proyección de la sección de la cabeza humana y se procesa por ordenador para reconstruir la imagen de la sección transversal, lo que se denomina reconstrucción de imagen. En 1975, EMI desarrolló con éxito un dispositivo de TC para todo el cuerpo, que obtenía una imagen tomográfica clara de varias partes del cuerpo humano. En 1979, esta técnica de diagnóstico ganó el Premio Nobel. [7] La tecnología de procesamiento de imágenes digitales para aplicaciones médicas fue incluida en el Salón de la Fama de la Tecnología Espacial de la Fundación Espacial en 1994. [39]
En 2010, se habían realizado 5 mil millones de estudios de imágenes médicas en todo el mundo. [40] [41] La exposición a la radiación de las imágenes médicas en 2006 representó aproximadamente el 50% de la exposición total a la radiación ionizante en los Estados Unidos. [42] Los equipos de imágenes médicas se fabrican utilizando tecnología de la industria de semiconductores , incluidos chips de circuitos integrados CMOS , dispositivos semiconductores de potencia , sensores como sensores de imagen (en particular sensores CMOS ) y biosensores , y procesadores como microcontroladores , microprocesadores , procesadores de señales digitales , procesadores de medios y dispositivos de sistema en chip . En 2015 , los envíos anuales de chips de imágenes médicas ascienden a 46 millones de unidades y 1.100 millones de dólares . [43] [44][actualizar]
El procesamiento de imágenes digitales permite el uso de algoritmos mucho más complejos y, por lo tanto, puede ofrecer un rendimiento más sofisticado en tareas simples y la implementación de métodos que serían imposibles por medios analógicos.
En particular, el procesamiento de imágenes digitales es una aplicación concreta y una tecnología práctica basada en:
Algunas técnicas que se utilizan en el procesamiento de imágenes digitales incluyen:
Los filtros digitales se utilizan para desenfocar y enfocar imágenes digitales. El filtrado se puede realizar de la siguiente manera:
Los siguientes ejemplos muestran ambos métodos: [46]
Tipo de filtro | Núcleo o máscara | Ejemplo |
---|---|---|
Imagen original | ||
Paso bajo espacial | ||
Paso alto espacial | ||
Representación de Fourier | Pseudocódigo: imagen = tablero de ajedrez F = Transformada de Fourier de la imagen Mostrar imagen: log(1+Valor absoluto(F)) | |
Paso bajo de Fourier | ||
Paso alto de Fourier |
Las imágenes generalmente se rellenan antes de transformarlas al espacio de Fourier; las imágenes filtradas de paso alto que aparecen a continuación ilustran las consecuencias de las diferentes técnicas de relleno:
Cero rellenado | Borde repetido acolchado |
---|---|
Tenga en cuenta que el filtro de paso alto muestra bordes adicionales cuando se rellena con ceros en comparación con el relleno de borde repetido.
Ejemplo de MATLAB para filtrado de paso alto en el dominio espacial.
img = checkerboard ( 20 ); % generar tablero de ajedrez % **************************** DOMINIO ESPACIAL *************************** klaplace =[ 0 - 1 0 ; - 1 5 - 1 ; 0 - 1 0 ]; % núcleo de filtro laplaciano X = conv2 ( img , klaplace ); % convolucionar probar img con % núcleo laplaciano 3x3 figure () imshow ( X ,[]) % mostrar título filtrado laplaciano ( 'Detección de bordes laplacianos' )
Las transformaciones afines permiten transformaciones básicas de imágenes, incluyendo escala, rotación, traslación, espejo y corte, como se muestra en los siguientes ejemplos: [46]
Nombre de la transformación | Matriz afín | Ejemplo |
---|---|---|
Identidad | ||
Reflexión | ||
Escala | ||
Girar | donde θ = π/6 =30° | |
Cortar |
Para aplicar la matriz afín a una imagen, la imagen se convierte en una matriz en la que cada entrada corresponde a la intensidad del píxel en esa ubicación. Luego, la ubicación de cada píxel se puede representar como un vector que indica las coordenadas de ese píxel en la imagen, [x, y], donde x e y son la fila y la columna de un píxel en la matriz de la imagen. Esto permite que la coordenada se multiplique por una matriz de transformación afín, que proporciona la posición en la que se copiará el valor del píxel en la imagen de salida.
Sin embargo, para permitir transformaciones que requieren transformaciones de traslación, se necesitan coordenadas homogéneas tridimensionales . La tercera dimensión suele establecerse en una constante distinta de cero, normalmente 1, de modo que la nueva coordenada sea [x, y, 1]. Esto permite que el vector de coordenadas se multiplique por una matriz de 3 por 3, lo que permite realizar cambios de traslación. Por lo tanto, la tercera dimensión, que es la constante 1, permite la traslación.
Como la multiplicación de matrices es asociativa, se pueden combinar múltiples transformaciones afines en una única transformación afín multiplicando la matriz de cada transformación individual en el orden en que se realizan las transformaciones. Esto da como resultado una única matriz que, cuando se aplica a un vector de puntos, da el mismo resultado que todas las transformaciones individuales realizadas en el vector [x, y, 1] en secuencia. Por lo tanto, una secuencia de matrices de transformación afín se puede reducir a una única matriz de transformación afín.
Por ejemplo, las coordenadas bidimensionales solo permiten la rotación sobre el origen (0, 0). Pero las coordenadas homogéneas tridimensionales se pueden utilizar para trasladar primero cualquier punto a (0, 0), luego realizar la rotación y, por último, trasladar el origen (0, 0) de nuevo al punto original (lo opuesto a la primera traslación). Estas 3 transformaciones afines se pueden combinar en una única matriz, lo que permite la rotación alrededor de cualquier punto de la imagen. [47]
La morfología matemática es adecuada para eliminar el ruido de las imágenes. Los elementos estructurantes son importantes en la morfología matemática .
Los siguientes ejemplos tratan sobre elementos estructurantes. La función de eliminación de ruido, la imagen como I y el elemento estructurante como B se muestran a continuación y en la tabla.
p.ej
Defina Dilatación(I, B)(i,j) = . Sea Dilatación(I,B) = D(I,B)
D(I', B)(1,1) =
Defina Erosión(I, B)(i,j) = . Sea Erosión(I,B) = E(I,B)
E(I', B)(1,1) =
Después de la dilatación Después de la erosión
Un método de apertura es simplemente erosión primero y luego dilatación mientras que el método de cierre es al revés. En realidad, D(I,B) y E(I,B) pueden implementarse mediante convolución.
Elemento estructurante | Mascarilla | Código | Ejemplo |
---|---|---|---|
Imagen original | Ninguno | Utilice Matlab para leer la imagen originaloriginal = imread ( 'scene.jpg' ); imagen = rgb2gray ( original ); [ r , c , canal ] = tamaño ( imagen ); se = lógico ([ 1 1 1 ; 1 1 1 ; 1 1 1]) ; [ p , q ] = tamaño ( se ); halfH = floor ( p / 2 ); halfW = floor ( q / 2 ); tiempo = 3 ; % de eliminación de ruido 3 veces con todos los métodos | |
Dilatación | Utilice Matlab para la dilataciónimwrite ( imagen , "escena_dil.jpg" ) extractmax = zeros ( tamaño ( imagen ), clase ( imagen )); para i = 1 : tiempo dil_imagen = imread ( 'escena_dil.jpg' ); para col = ( mitadW + 1 ): ( c - mitadW ) para fila = ( mitadH + 1 ) : ( r - mitadH ) dpointD = fila - mitadH ; dpointU = fila + mitadH ; dpointL = col - mitadW ; dpointR = col + mitadW ; dneighbor = dil_image ( dpointD : dpointU , dpointL : dpointR ); filter = dneighbor ( se ); extractmax ( fila , col ) = max ( filtro ); fin fin imwrite ( extraermax , "escena_dil.jpg" ); fin | ||
Erosión | Utilice Matlab para la erosiónimwrite ( imagen , 'scene_ero.jpg' ); extractmin = zeros ( tamaño ( imagen ), clase ( imagen )); para i = 1 : tiempo ero_imagen = imread ( 'scene_ero.jpg' ); para col = ( mitadW + 1 ): ( c - mitadW ) para fila = ( mitadH + 1 ): ( r - mitadH ) puntoAbajo = fila - mitadH ; puntoArriba = fila + mitadH ; puntoIzquierda = col - mitadW ; puntoDerecha = col + mitadW ; vecino = ero_imagen ( puntoAbajo : puntoArriba , puntoIzquierda : puntoDerecha ); filtro = vecino ( se ); extractmin ( fila , col ) = min ( filtro ); fin fin imwrite ( extracmin , "scene_ero.jpg" ); fin | ||
Apertura | Utilice Matlab para abririmwrite ( extraermin , "escena_apertura.jpg" ) extractopen = zeros ( tamaño ( imagen ), clase ( imagen )); para i = 1 : tiempo dil_imagen = imread ( 'escena_apertura.jpg' ); para col = ( mitadW + 1 ): ( c - mitadW ) para fila = ( mitadH + 1 ) : ( r - mitadH ) dpointD = fila - mitadH ; dpointU = fila + mitadH ; dpointL = col - mitadW ; dpointR = col + mitadW ; dneighbor = dil_image ( dpointD : dpointU , dpointL : dpointR ); filter = dneighbor ( se ); extractopen ( fila , col ) = max ( filtro ); fin fin imwrite ( extraerpen , "escena_apertura.jpg" ); fin | ||
Cierre | Utilice Matlab para cerrarimwrite ( extraermax , "escena_cierre.jpg" ) extractclose = zeros ( tamaño ( imagen ), clase ( imagen )); para i = 1 : tiempo ero_image = imread ( 'escena_cierre.jpg' ); para col = ( mitadW + 1 ): ( c - mitadW ) para fila = ( mitadH + 1 ) : ( r - mitadH ) dpointD = fila - mitadH ; dpointU = fila + mitadH ; dpointL = col - mitadW ; dpointR = col + mitadW ; dneighbor = ero_image ( dpointD : dpointU , dpointL : dpointR ); filter = dneighbor ( se ); extractclose ( fila , col ) = min ( filtro ); fin fin imwrite ( extraerclose , "escena_cierre.jpg" ); fin |
Las cámaras digitales generalmente incluyen hardware especializado de procesamiento de imágenes digitales (ya sea chips dedicados o circuitos adicionales en otros chips) para convertir los datos sin procesar de su sensor de imagen en una imagen con corrección de color en un formato de archivo de imagen estándar . Las técnicas de posprocesamiento adicionales aumentan la nitidez de los bordes o la saturación del color para crear imágenes de aspecto más natural.
Westworld (1973) fue el primer largometraje en utilizar el procesamiento de imágenes digitales para pixelar fotografías y simular el punto de vista de un androide. [48] El procesamiento de imágenes también se utiliza ampliamente para producir el efecto de clave cromática que reemplaza el fondo de los actores con un escenario natural o artístico.
La detección de rostros se puede implementar con morfología matemática , transformada de coseno discreta , generalmente llamada DCT, y proyección horizontal (matemáticas) .
Método general con método basado en características
El método de detección de rostros basado en características utiliza el tono de piel, la detección de bordes, la forma del rostro y los rasgos del rostro (como los ojos, la boca, etc.) para lograr la detección de rostros. El tono de piel, la forma del rostro y todos los elementos únicos que solo tiene el rostro humano pueden describirse como rasgos.
Explicación del proceso
La calidad de la imagen puede verse afectada por la vibración de la cámara, la sobreexposición, la distribución del nivel de gris demasiado centralizada y el ruido, etc. Por ejemplo, el problema del ruido se puede resolver con el método de suavizado , mientras que el problema de la distribución del nivel de gris se puede mejorar con la ecualización del histograma .
Método de suavizado
En el dibujo, si hay algún color que no satisface, se toma un poco de color alrededor del color que no satisface y se calcula el promedio. Esta es una forma sencilla de pensar en el método de suavizado.
El método de suavizado se puede implementar con máscara y convolución . Tomemos como ejemplo la imagen pequeña y la máscara que se muestra a continuación.
La imagen es
La máscara es
Después de la convolución y el suavizado, la imagen es
Observando la imagen[1, 1], la imagen[1, 2], la imagen[2, 1] y la imagen[2, 2].
Los píxeles de la imagen original son 1, 4, 28, 30. Después de suavizar la máscara, los píxeles se convierten en 9, 10, 9, 9 respectivamente.
nueva imagen[1, 1] = * (imagen[0,0]+imagen[0,1]+imagen[0,2]+imagen[1,0]+imagen[1,1]+imagen[1,2]+imagen[2,0]+imagen[2,1]+imagen[2,2])
nueva imagen[1, 1] = piso( * (2+5+6+3+1+4+1+28+30)) = 9
nueva imagen[1, 2] = piso({ * (5+6+5+1+4+6+28+30+2)) = 10
nueva imagen[2, 1] = piso( * (3+1+4+1+28+30+7+3+2)) = 9
nueva imagen[2, 2] = piso( * (1+4+6+28+30+2+3+2+2)) = 9
Método de histograma de niveles de grises
En general, dado un histograma de niveles de gris de una imagen como la que se muestra a continuación, cambiar el histograma a una distribución uniforme de una imagen suele ser lo que llamamos ecualización de histograma .
En tiempo discreto, el área del histograma de niveles de gris es (ver figura 1) mientras que el área de distribución uniforme es (ver figura 2). Está claro que el área no cambiará, por lo que .
De la distribución uniforme, la probabilidad de es mientras que la
En tiempo continuo, la ecuación es .
Además, basado en la definición de una función, el método del histograma de niveles de Gray es como encontrar una función que satisfaga f(p)=q.
Método de mejora | Asunto | Antes de la mejora | Proceso | Después de la mejora |
---|---|---|---|---|
Método de suavizado | ruido Con Matlab, se agrega sal y pimienta con el parámetro 0,01 |
| ||
Ecualización del histograma | La distribución de niveles de grises está demasiado centralizada | Consulte la ecualización del histograma. |
La Cyclops fue la primera cámara digital
Los sistemas de imágenes médicas producen imágenes cada vez más precisas con una calidad mejorada utilizando resoluciones espaciales y profundidad de bits de color más altas. Estas mejoras aumentan la cantidad de información que se debe almacenar, procesar y transmitir.
Debido a la gran cantidad de datos de imágenes médicas, el proceso de transmisión se vuelve complicado en las aplicaciones de telemedicina. Por lo tanto, para adaptar los flujos de bits de datos a las restricciones relacionadas con la limitación de los anchos de banda, es esencial una reducción del tamaño de los datos mediante la compresión de las imágenes.
-óxido-semiconductor (MOSFET) es el dispositivo activo más utilizado en la integración a gran escala de circuitos integrados digitales (VLSI). Durante la década de 1970, estos componentes revolucionaron el procesamiento de señales electrónicas, los sistemas de control y las computadoras.
{{cite book}}
: |website=
ignorado ( ayuda ){{cite book}}
: CS1 maint: location missing publisher (link)