Clase 4 Manejo de Imagenes Con Matlab

July 7, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Clase 4 Manejo de Imagenes Con Matlab...

Description

 

4 Clase Prá Práct ctic ica a Pro rocesa cesami mie ent nto o Dig igit ita al de IImáge mágenes nes Ing nge eni nie ería Electr lectrón ónic ica a  

Tema: Manejo Ma nejo de Imágenes en Matl Matlab ab

 

Manejo Ma nejo de Imágenes en Matlab Transformaciones Básicas El procesamiento de datos puede enfocarse en dos perspectivas: 1. Alteración pixel a pixel de los datos a una escala global ( Transformaciones individuales) 2. Operaciones basadas en múltiples puntos (Por vecindad)

La generación de un nuevo pixel en la nueva imagen será una función del valor de cada pixel en su localización individual o bien de los valores de los pixeles en la vecindad de un pixel dado.

 

Manejo Ma nejo de Imágenes en Matlab Transformaciones de Intensidad Una transformación de intensidad consiste en mapear los valores de intensidad de cada pixel a otros valores de acuerdo a cierta función de transformación. Las funciones de transformación transformación pueden ser de dos tipos: 1. lineales, 2. no-lineales. En las transformacion es lineales Existe una relación o función función lineal de los valores de intensidad intensidad de los pixels de la imagen de salida respecto a la imagen de entrada. Los tipos de transformaciones lineales mas comúnmente utilizados son: - Obten Obtener er el negativo negativo de una una imagen. imagen. - Aumen Aumentar tar o disminuir disminuir la intens intensidad idad (brillo (brillo de la imagen) imagen).. - Aum Aument ento o de de cont contras raste. te.

 

Manejo Ma nejo de Imágenes en Matlab Transformaciones de Intensidad Transformaciones lineales Es posible aumentar el brillo a una imagen sumándole un valor constante a cada píxel. En el ejemplo se muestra el efecto de sumar el escalar 100 a una imagen, el cual se realiza de la forma  B( x,  y) =  A( x,  y) + a. Ejemplo de transformaciones lineales: » K = I+100; % a la imagen le aumento el brillo » figure(4); imshow(K); » M = I-100; % a la imagen le disminuyo el brillo » figure(5); imshow(M); También puede uti utilizarse lizarse el comando (para aumentar el brillo)

Ejemplo: » I = imread (‘monedas.jpg’); (‘monedas.jpg’); » K = imadd(I, 60); » im imvi view ew (K (K))

imadd 

 ó

imsubstract

(para disminuir el brillo)

Ejemplo: » I = imread (‘monedas.jpg’); (‘monedas.jpg’); » K = imsubtract(I, 60); » im imvi view ew (K)

 

Manejo Ma nejo de Imágenes en Matl Matlab ab Transformaciones de Intensidad En las transformacion es lineales

Negativo

Aumento de Intensidad

Aumento de Contraste

En las transformacion es No lineales lineales

Expansión de Contraste

Comprensión de rango dinámico

Intensificación de un rango de niveles

 

Manejo Ma nejo de Imágenes en Matl Matlab ab Transformaciones de Intensidad En las transformacion es lineales Negativo

Negativo: El pixel de entrada (eje X) de intensidad 0 se transforma en un pixel de salida (eje Y) de intensidad máxima, y el de entrada de intensidad máxima se transforma en intensidad 0.

• Utilizado para mejorar detalles blancos o grises situados en regiones oscuras de una imagen, cuando el área negra es dominante.

 

Manejo Ma nejo de Imágenes en Matl Matlab ab Transformaciones de Intensidad La sintaxis general para aplicar una transformación de intensidad a una imagen f es: >> g = imadjust (f,, [low_in [low_in high_ high_in], in], [low_ou [low_outt high_ high_out]) out]) imadjust (f Aplica los valores de intensidad de la imagen f (uint8, uint16 o doublé) que están en el intervalo [low_in high_in] en valores del intervalo, intervalo, [low_ [low_out out high_ high_out] out] (considerando valores entre 0 y 1). >> J = imadjust(nombr imadjust(nombre e de imagen,[0 1],[0.3 0.7]); Por ejemplo >> I = imread(‘lena.tiff’); imread(‘lena.tiff’); >> f = rgb2gray (I); >> g = imadjust(f,[0 imadjust(f,[0 1],[1 0]); >> subplot(1,2,1); imshow(f); titlte(´Original´); >> subplot(1,2,2); imshow(g); titlte(´Transformada en Intesidad´);

 

Manejo Ma nejo de Imágenes en Matlab Transformaciones de Intensidad Transformación gamma imadjus djustt (f (f,, [low_in [low_in high high_in], _in], [low_o [low_out ut high high_out] _out],, gamma) gamma) >> g = ima >> g=imadjust(f g=imadjust(f,[0 ,[0 1],[0 1],0.5); % gamma 0.5 >>

% (el 0 es el negro y el 1 es el blanco)

La corrección gamma, gamma, no-linealidad gamma, gamma, codificación gamma, gamma, o simplemente gamma gamma,, Es como se denomina cierta operación no linea lineall que se usa para codificar y decodificar luminancia decodificar luminancia

 

Manejo Ma nejo de Imágenes en Matlab Transformaciones de Intensidad En las transformacion es No lineales lineales

monotónicass de forma que mantienen la estructura básica de la imagen. Normalmente son funciones monotónica Algunos ejemplos de transformaciones no-lineales son los siguientes: - Expansión Expansión (o aumen aumento) to) de contra contraste ste.. Se incrementa el contraste, en forma diferente para distintos rangos de intensidades. - Compresi Compresión ón de rango rango dinámico dinámico.. Se reduce el rango de niveles de gris o intensidades de la imagen. - Intensif Intensificac icación ión de un rango rango de niveles. niveles. Se aumenta la intensidad de un rango de niveles de gris de la imagen.

 

Manejo Ma nejo de Imágenes en Matlab Transformaciones lineales

Transformaciones No lineales

Usada para expandir los valores de pixeles oscuros a pixeles más claros en una imagen mientras se

comprimen los valores de alto nivel.  

Manejo Ma nejo de Imágenes en Matlab Transformaciones No lineales

 

Manejo Ma nejo de Imágenes en Matlab Función logarítmica Conocida como transformación de rango dinámico >> g = c * lo g (1 + dou bl ble(f)) e(f))

Ejemplo: Esta función se usa para aclarar imágenes oscuras y aumentar el contraste

 

Manejo Ma nejo de Imágenes en Matlab

Histograma El Histograma es la gráfica que muestra la cantidad de píxeles que tienen una determinada intensidad luminosa.



El eje horizontal representa los diferentes tonos de gris desde



el eje negro puro (a la izquierda) al blanco (a la derecha). vertical El representa represen ta el número depuro pixeles que contiene la imagen

para cada tono representado en el eje horizontal.  

Manejo Ma nejo de Imágenes en Matl Matlab ab Histograma de una imagen

El Histograma de una imagen f es una gráfica que representa los niveles de intensidad del color de f con respecto al número de píxeles presentes en f con cada intensidad de color. Puede ayudarnos para controlar la exposición en nuestras fotos, fotos, así como para •



corregir los colores. El histograma nos ayudará a hacernos una idea de cómo es de correcta la exposición de una imagen. imagen. Así, en una fotografía subexpuesta la gráfica tenderá a desplazarse a la izquierda y en una fotografía sobreexpuesta tenderá a desplazarse a la derecha. •

Una imagen que contenga todos los tonos de grises tendrá un histograma más o menos uniforme a lo largo de todo el eje horizontal. •

Propiedades

• •

Una imagen f no puede deducirse a partir de un histogram histograma a de f. Dos imágenes diferentes diferentes pueden tener tener asociado un mismo histograma. histograma. histogramas no contienen información Los histogramas información espacial sobre la imagen.

 

Manejo Ma nejo de Imágenes en Matlab Histograma El comando Matlab para realizar histograma de una imagen es imhist >>imhist(I) >>imhist(I) >>imhist(I,n)

% retorna el grafico del histograma con el eje x dividido en 256 partes % retorna el grafico del histograma histograma con el eje x dividido en n partes

>>[counts,x] =imhist( ___)  ___)

% No realiza el gráfico, sino que retorna dos vectores:

x= contiene todos valores de intensidad, desde 0 a 255 o desde 0 a n (según el comando comando histlos hist que se use) use) counts= counts = contiene la cantidad de cada valor de intensidad guardado en x

El comando imhist debe usarse solamente con imágenes en escala de grises.

 

Manejo Ma nejo de Imágenes en Matlab Ejemplos de Histogra Histogramas mas Fotografía oscura y su histograma superpuesto

Imagen muy luminosa

 

Manejo Ma nejo de Imágenes en Matlab Ejemplos de Histogra Histogramas mas Imagen Imagen muy lumin osa

 

Manejo Ma nejo de Imágenes en Matlab Ejemplos de Histogra Histogramas mas

Fotografía en la que abundan los tonos medios. El histogr histograma ama se concentr concentra a en la part parte e central central del eje X.

 

Manejo Ma nejo de Imágenes en Matlab Ejemplos de Histogr Histogramas amas

Tonos Apagados Ap agados:: Se trata de una imagen oscura

Sombras o zonas oscuras: oscuras: Imagen con muchas zonas oscuras o fondo negro. El histograma tiende a irse a la izquierda

Sombras pálidas: pálidas: La imagen no posee zonas oscuras, no hay picos a la izquierda. Tampoco hay zonas quemadas, o sea no hay picos a

Sobreexposición:: La imagen tiene zonas muy claras o Sobreexposición

quemadas

derecha. Pero se trata de una imagen clara  

Manejo Ma nejo de Imágenes en Matlab Ejemplos de Histogr Histogramas amas

Contraluz: Este histograma posee forma de U. Contraluz: Hay zonas muy claras y otras muy oscuras. Hay pocas zonas grises

Distribución homogénea: homogénea: El histograma de una foto homogénea se distribuye a lo largo de todo el eje horizontal. Al no haber zonas quemadas ni excesivamente oscuras no encontraremos picos ni grandes “montañas” en la gráfica.

Es importante saber que el hecho de una distribución sea homogénea no siempre expuesta. Dependerá estrictamente de significa que la imagen está correctamente expuesta.

las características características tonales de la imagen.  

Manejo Ma nejo de Imágenes en Matlab Ejercicio: - Tomar omar una una ima image gen n col color or - Dividir Dividir la pantal pantalla la y visual visualiza izarr la image imagen n original original - Visua Visualiz lizar ar el hist histogr ogram ama a de cada cada uno uno de sus sus canal canales. es. - Colo Coloca carr el titu titulo lo a ca cada da uno uno..

 

Manejo Ma nejo de Imágenes en Matlab Analizando el histograma de una capa Histograma de la capa 1 (rojo) de la imagen de Lena

El histograma histograma se encuentra sesgado a derecha, esto es, la imagen en la capa roja es bastante clara.

 

Manejo Ma nejo de Imágenes en Matlab Tomemos el canal 1: >> I1= I(:,:,1); >> [counts,x] =imhist(I1); >> x(100:110) 99 100 101 102 103 104 105 106 107 108 109 >> bar(x,counts)

>> counts(100:110) 1559 1418 1384 1319 1342 1156 1120 955 969 828 782

 

Manejo Ma nejo de Imágenes en Matlab

¿Cómo podríamos oscurecerla? >> I2= I(:,:,1); >> max(max(I2)) 255 >> min(min(I2)) 54 >> I3 =I2 – =I2 –50; 50; ¿Qué logramos con esto?

 

Manejo Ma nejo de Imágenes en Matlab

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF