0% encontró este documento útil (0 votos)
42 vistas30 páginas

Procesamiento Digital de Imágenes en MATLAB

El documento detalla el procesamiento digital de imágenes, enfocándose en operaciones básicas entre píxeles como aritméticas, lógicas y geométricas. Se explican comandos específicos para realizar operaciones de suma, resta, multiplicación y división, así como transformaciones como interpolación y ajuste de intensidad. También se aborda la importancia del histograma en la evaluación de imágenes y técnicas para mejorar el contraste y la calidad visual.

Cargado por

Daniel Arévalo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
42 vistas30 páginas

Procesamiento Digital de Imágenes en MATLAB

El documento detalla el procesamiento digital de imágenes, enfocándose en operaciones básicas entre píxeles como aritméticas, lógicas y geométricas. Se explican comandos específicos para realizar operaciones de suma, resta, multiplicación y división, así como transformaciones como interpolación y ajuste de intensidad. También se aborda la importancia del histograma en la evaluación de imágenes y técnicas para mejorar el contraste y la calidad visual.

Cargado por

Daniel Arévalo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

ESCUELA SUPERIOR POLITÉCNICA

DE CHIMBORAZO
FACULTAD DE INFORMÁTICA Y
ELECTRÓNICA
ESCUELA DE INGENIERÍA EN ELECTRÓNICA CONTROL Y REDES INDUSTRIALES
VISIÓN ARTIFICIAL
PROCESAMIENTO DIGITAL DE IMÁGENES
FILTRADO Y REALZADO DE IMÁGENES

OPERACIONES BÁSICAS ENTRE PÍXELES


• Las operaciones que podemos realizar entre los píxeles son:
1. Operaciones aritméticas
2. Operaciones lógicas
3. Operaciones geométricas
OPERACIONES ARITMÉTICAS

• Las operaciones aritméticas más usadas en el procesamiento de imágenes son:


suma, resta, multiplicación y división. Para que se pueda llevar a cabo una
operación aritmética, ambas imágenes deben ser del mismo tamaño (ancho y
alto).

• Mediante el comando imadd


• Ejemplo:
» I = imread(‘[Link]’);
» J = imread('[Link]');
» K = imadd(I,J);
» imview (K)

» imwrite(K, ‘[Link]’);
• Es posible aumentar el brillo a una imagen sumándole un valor constante a cada
píxel.

• Ejemplo:
» I = imread(‘[Link]’);
» K = imadd(I, 60);
» imview (K)
• La resta de imágenes consiste en restar de una imagen el valor correspondiente
de otra imagen.
Se requiere que ambas imágenes sean de igual tamaño.
• El comando a ser empleado es imsubtract

• Ejemplo:
» I = imread(‘[Link]’);
» J = imread('[Link]’);
» K = imsubtract(I, J);
» imview (K)
Se puede disminuir el brillo a una imagen restándole un valor constante a cada
píxel, la cual se lleva a cabo de la forma B(x, y) = A(x, y) − a.

Ejemplo:
» I = imread(‘[Link]’);
» K = imsubtract(I, 60);
» imview (K)
• La multiplicación de imágenes se puede llevar a cabo entre dos imágenes del
mismo tamaño, multiplicando elemento a elemento cada uno de los píxeles de la
imagen, de la forma C(x, y) = A(x, y) · B(x, y), mediante el comando immultiply
• Ejemplo:
» I = imread(‘[Link]’);
» K = immultiply(I, I);
» imview (K)
• Cuando se multiplica cada uno de los píxeles de una imagen por un escalar, se le
conoce como escalamiento, el cual se realiza de la siguiente forma B(x, y) = a ·
A(x, y).
• Cuando el escalar o constante es menor a 1, se oscurece la imagen;
• si es mayor a 1, aumenta el brillo de la imagen.
• La división de imágenes consiste en una división de elemento a elemento, se
realiza de la forma C(x, y) = A(x, y) ÷ B(x, y) mediante el comando imdivide.
• Ejemplo:
» I = imread(‘[Link]’);
» J = imread('[Link]’);
» K = imdivide(I, J);
» imview(K)
OPERACIONES LÓGICAS

Las principales operaciones lógicas utilizadas en el procesamiento de imágenes son:


• AND
• OR
• NOT

las cuales se aplican sólo a imágenes binarias.


Ejemplo:
» I = imread(‘[Link]’);
» J = imread([Link]’);
» K = and(I, J);
» imview(K)
» K = or(I, J);
» imview(K)
» K = not(I);
» imview(K)
» K = not(J);
» imview(K)
TRANSFORMACIONES GEOMÉTRICAS

Son transformaciones geométricas modifican las relaciones espaciales entre píxeles.

• Interpolación
• Amplificación y Reducción de imágenes
• Rotación de Imágenes
• Correlación de Matrices
INTERPOLACIÓN

• Es el proceso en el cual se estiman los valores de una imagen en una sección específica.
• Si se amplía una imagen, en la nueva imagen existen más píxeles que en la imagen original.
• los comandos imresize e imrotate utilizan interpolación bidimensional como paso intermedio en
sus procesos.
• Implementa los siguientes métodos de interpolación: interpolación por el vecino más próximo,
interpolación bilineal e interpolación bicúbica.
• Los tres métodos de interpolación funcionan de forma similar.
INTERPOLACIÓN

• Vecino más próximo (nearest): al píxel interpolado se le asigna el valor del píxel
que corresponde. Es el método por defecto.
• Interpolación bilineal (bilinear): el valor del píxel interpolado es el promedio
ponderado de los píxeles en la vecindad 2x2 más cercana.
• Interpolación bicúbica (bicubic): el valor del píxel interpolado es el promedio
ponderado de los píxeles presentes en la vecindad 4x4 más cercana.
Para imágenes RGB, la interpolación se ejecuta en los planos de color rojo, verde y
azul de forma individual.
AMPLIFICACIÓN Y REDUCCIÓN DE IMÁGENES

• Para el cambio de tamaño de una imagen se utiliza el comando


imresize.
• Permite especificar: el tamaño de la imagen de salida, el método de
interpolación utilizado y el filtro a usar para evitar el efecto alias.
• El efecto alias se presenta al reducir el tamaño de una imagen
debido a que se presenta una pérdida de información.
AMPLIFICACIÓN Y REDUCCIÓN DE IMÁGENES

• Ejemplo:
» I = imread(‘[Link]’);
» K = imresize(I, 2, ‘bilinear’);
» imview(K)
» K = imresize(I, 0.5, ‘bicubic’);
» imview(K)
ROTACIÓN DE IMÁGENES

• Para rotar una imagen en un determinado número de grados, se utiliza el comando imrotate.
• La rotación se la realiza en contra de las manecillas del reloj.
• Ejemplo:
» I = imread(‘[Link]’);
» K = imrotate(I, 35, ‘bilinear’);
» imview(K)
» K = imrotate (I, 90, ‘bicubic’);
» imview(K)
CORRELACIÓN DE MATRICES
• Operación en la cual el valor de un píxel de salida se calcula como la suma
ponderada de los píxeles vecinos.
• Se utiliza para encontrar el parecido entre píxeles de una imagen.
• Si los píxeles son iguales o parecidos, se dice que están altamente
correlacionados entre sí.
• La correlación permite hallar patrones, y se utiliza el comando corr2, el cual
calcula el coeficiente de correlación entre dos matrices del mismo tamaño.
CORRELACIÓN DE MATRICES

Ejemplo: Ejemplo
» I=imread('[Link]’) » I=imread('[Link]’)
» J=imread('[Link]’) » k=corr2(I, I);
» k=corr2(I, J); »k
»k k = 1 % altamente correlacionados
k = 0.4069%medianamente
correlacionados

El coeficiente entre dos matrices es un número real comprendido


entre el rango [-1 y 1] y se dice que las matrices están altamente
correlacionadas si el coeficiente tiende a estos límites (-1 o 1); y una
baja correlación, si tienden a cero.
HISTOGRAMA DE UNA IMAGEN

• ilustra en un gráfico cómo están distribuidos los píxeles de la imagen mostrando la


cantidad de píxeles en cada nivel de intensidad del color.
• Indica si la imagen contiene suficientes detalles:
• en las sombras (en la parte izquierda del histograma),
• en los medios tonos (en el centro)
• las iluminaciones (en la parte derecha)

para realizar una corrección correcta.


HISTOGRAMA DE UNA IMAGEN

• Es un diagrama de barras, en el que sobre el eje de las abscisas se representan los


diferentes valores que pueden tomar s de una imagen, y en el eje de las ordenadas, el
número de píxeles que se encuentran en una imagen para ese valor de cuantización.
• El histograma de una imagen en niveles de gris proporciona información sobre el número de
píxeles que hay para cada nivel de intensidad.
• En imágenes en color RGB se usan tres histogramas, uno por cada componente de color.
• Se emplea el comando imhist y sólo se aplica a imágenes indexadas o con intensidad (escala
de grises).
HISTOGRAMA DE UNA IMAGEN

• Ejemplo:
» I=imread('[Link]’)
» imhist(I)
AUMENTO Y REDUCCIÓN DE CONTRASTE

Al variar el contraste en la imagen, los píxeles se mueven a la izquierda, centro


o derecha de su histograma.
ECUALIZADO DEL HISTOGRAMA

• El proceso de ecualizado mejora el contraste de una imagen


• Tiene por objetivo obtener un nuevo histograma, a partir del histograma
original, con una distribución uniforme de los diferentes niveles de intensidad.
• Además, mejora la calidad visual de las imágenes saturadas.
• El ecualizado está implementado en el comando histeq.
ECUALIZADO DEL HISTOGRAMA

• Ejemplo:
» I=imread(‘[Link]’)
» J=histeq(I); % ecualiza el
histograma
» imshow(I)
» figure, imshow(J)
» figure, imhist(I)
» figure, imhist(J)
AJUSTE DE LA INTENSIDAD

• La función imadjust puede ampliar, reducir, y en general, cambiar los rangos


de intensidad de la imagen de entrada a unos nuevos rangos en la imagen
de salida.
• Se usa con imágenes en niveles de grises y de color.
• Aumenta el contraste de la imagen de salida.
• Su sintaxis es: J = imadjust(I);
AJUSTE DE LA INTENSIDAD

Ejemplo:
» I=imread(‘[Link]’)
» J= imadjust (I);
» imshow(I)
» figure, imshow(J)
IMPORTAR Y EXPORTAR FICHEROS DE DATOS

• Si tenemos un fichero de datos se lo puede importar para evitar copiar de


nuevo todos los datos.
CONVERTIR UN FICHERO (*.M) EN UN EJECUTABLE (*.EXE)

• Si tenemos un fichero *.m, lo primero que debemos hacer es asegurarnos de que sea una función, para ello en
la primera línea del fichero debe aparecer:
function nombre (el nombre de la función debe coincidir con el nombre del fichero)
• Se debe ubicar el directorio donde tengamos el fichero a transformar usando el comando cd, por ejemplo:
>> cd 'C:\Documents and Settings\Escritorio\Prueba’
• Se escribe a continuación es el comando mcc seguido de –m y el nombre del fichero:
>> mcc -m nombre
• Con esto aparecerá en el mismo directorio un ejecutable con el mismo nombre.
• También aparecerán una carpeta y varios archivos.

También podría gustarte