transformaciones e histograma€¦ · e histograma . 1 1 2 3 m 2 3 n f(2,) g(2,3 ) 1 1 2 3 m 2 3 n...

72
Transformaciones e Histograma

Upload: others

Post on 18-Oct-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformaciones

e Histograma

Page 2: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

1

1

2

3

M

2 3 N

)3,2(g)3,2(f

1

1

2

3

M

2 3 N

Transformaciones básicas

La transformación de intensidades puede expresarse por:

)],([),( yxfTyxg )(rTs ó

donde:

r = Valor del píxel antes

del procesamiento

s = Valor del píxel después

del procesamiento

T = Operador aplicado

sobre r

Page 3: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformación umbral

Convierte niveles de gris a blanco y negro

>>BW = im2bw(I,magen, nivel)

>>BW = im2bw(I,magen, 128)

Page 4: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformación complemento

rLs )1(

L-1 : Máximo nivel de gris con que se representa la imagen

Page 5: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Complemento

Original Complemento

Original %Complemento

g=imcomplement(f);

Page 6: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Definición del constraste (contrast-stretching)

)],([),( yxfTyxg

Niveles de gris de entrada (f(x,y))

Niv

ele

s d

e g

ris d

e s

alid

a (

g(x

,y))

e1 e2

s1

s2

12

12

sss

eee

2

2

2

21

1

1

1

),(),(255

255

),(),(

),(),(

),(

eyxfsicyxfe

s

eyxfesibyxfe

s

eyxfsiyxfe

s

yxg

bee

ss

11

cee

ss

2

2

22

255

255

Page 7: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Función imadjust

)],__[],__[,( gammaouthighoutlowinhighinlowfimadjustg

]1,0[]255,0[uint8

]1,0[]__[],__[

outhighoutlowinhighinlow

Niveles de gris de entrada (f(x,y)) Niv

ele

s d

e g

ris d

e s

alid

a (

g(x

,y))

e1 e2

s1

s2

Page 8: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Complemento con imadjust

Original Negativo imadjust

Original % Complemento o negativo

g1=imadjust(f, [0 1], [1 0]);

Page 9: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Corrección de intervalos (I)

>> b=imadjust(a, [0 .2], []);

f(x,y)

g(x

,y)

Page 10: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Corrección de intervalos (II)

f(x,y)

g(x

,y)

>> b=imadjust(a, [0.8 1], []);

Page 11: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Corrección de intervalos (III)

f(x,y)

g(x

,y)

>> b=imadjust(a, [], [0 0.2]);

Page 12: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Corrección de intervalos (IV)

f(x,y)

g(x

,y)

>> b=imadjust(a, [], [0.8 1]);

Page 13: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Definición del contraste

f(x,y)

g(x

,y)

b=imadjust(a, [.4 .6], [0.1 .9]);

Page 14: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Función de transformación

por interpolación

x=[0, 121, 141, 161, 255]

y=[0, 25, 255/2, 230, 255]

modelo = interp1(x,y,'linear','pp');

III=uint8(ppval(modelo, double(II)));

f(x,y)

g(x

,y)

Page 15: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformación logarítmica

>>II=im2grey(I);;

>> III=im2double(II);

>> V=2.*log(1+III);

>> IV=0.5.*log(1+III);

)),(1log(),( yxfcyxg

Page 16: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformación gamma

gcrs

g<1

g=1 g>1

>> a=[0.1:0.2:1]

>> b=[1:1:5]

>> g=[a, b]

r=uint8(0:1:255);

for i=1:10

d(i,:)=imadjust(r, [0 1], [0 1], g(1,i));

plot(r,d(i,:));

hold on

end

Page 17: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Corrección de gamma

)[],[],,( gammafimadjustg

Oscurece Aclara

b=imadjust(a, [ ], [ ], 3); b=imadjust(a, [ ], [ ], 0.3); Original

Page 18: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Definición de contraste

Eyxfmyxg

)),(/(1

1),(

r=0:1:255;

E=10:10:1000;

for i=1:9

d(i,:)=255*(1./(1+(128./r).^E(1,i)));

plot(r,d(i,:));

hold on

end

Page 19: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Definición de contraste (II)

Eyxfmyxg

)),(/(1

1),(

E=10

E=50 E=1000

m=0.5

m=0.5 L=128(uint8); E=0.8

Original

Page 20: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Definición de contraste

utilizando lógica borrosa Si Píxel es Oscuro Entonces Píxel Resultante es Oscurecer

Desarrollo

Page 21: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Definición de contraste

utilizando lógica borrosa (II)

Si Píxel es Oscuro Entonces Píxel Resultante es Oscurecer

Si Píxel es Claro Entonces Píxel Resultante es Aclarar

Si Píxel es Gris Entonces Píxel Resultante es Mantener

Si Píxel es Menos oscuro Entonces Píxel Resultante es Oscurecer

Si Píxel es Menos claro Entonces Píxel Resultante es Aclarar

)],([),( yxfTyxg

Page 22: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Definición de contraste

utilizando lógica borrosa (III)

for i=1:M

for j=1:N

% Se aplica sistema borroso a cada píxel

IV(i,j)=evalfis(III(i,j),MejoraC);

end

end

Original

Page 23: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Interpolación de imágenes(I)

Interpolación: Proceso a través del cual se utilizan datos

conocidos para estimar valores en otras ubicaciones

no conocidas

Ejemplo:

x = 0:1:10;

y = sin(x);

xi = 0:.1:10;

ylin = interp1(x,y,xi); % Interpolación lineal

ycub = spline(x,y,xi); % Interpolación Spline

plot(x,y,'o',xi,ylin,'r',xi,ycub,'g')

Page 24: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Interpolación de imágenes(II)

Page 25: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Interpolación de imágenes(III)

Page 26: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Interpolación de imágenes(IV)

Vecino próximo

Bilineal

Bicúbico

Page 27: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformaciones

geométricas (I)

Las transformaciones geométricas se aplican en:

I.- Registro o fusión de imágenes que se han tomado en

diferentes intervalos de tiempo o diferentes sensores.

II.- Corregir la distorsión de una lente.

III.- Corregir los efectos de la orientación de una cámara.

IV.- Incorporar efectos artísticos en las imágenes.

Page 28: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformaciones

geométricas (II)

Page 29: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformaciones

geométricas (III)

Transformación afín

• Preserva la colinealidad : todos los puntos

pertenecientes a una línea original, permanecen en

esa línea después de la transformación)

• Razón de distancias : El punto medio de una línea

permanece como punto medio de la línea después de

la transformación

Page 30: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformaciones

geométricas (IV)

Rotación de una imagen

Page 31: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformaciones

geométricas (V)

Otras transformaciones

Traslación

Original Empuje horizontal

Empuje vertical

Page 32: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformaciones

geométricas (VI) Programa

I = imread('tabla.jpg');

% Empuje horizontal (cambio en b)

a=1; b=.2; c=0; d=0; e=1; f=0;

tform = maketform('affine',[a d 0; b e 0; c f 1]);

II = imtransform(I,tform);

% Empuje vertical (cambio en d)

a=1; b=0; c=0; d=-.2; e=1; f=0;

tform = maketform('affine',[a d 0; b e 0; c f 1]);

IV = imtransform(I,tform);

% Ampliación (cambio en a y e)

a=5; b=0; c=0; d=0; e=5; f=0;

tform = maketform('affine',[a d 0; b e 0; c f 1]);

VII = imtransform(I,tform);

Page 33: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformaciones

geométricas (VII)

Secuencia de transformaciones afines

Page 34: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformaciones

geométricas (VIII) I=imread('edificio.jpg'); II=rgb2gray(I);

% Rotación

t=45/(2*pi); % ángulo de rotación

a=cos(t); b=-sin(t); c=0; d=sin(t); e=cos(t); f=0;

t1=[a d 0; b e 0; c f 1];

% Empuje vertical (cambio en d)

a=1; b=0; c=0; d=-.2; e=1; f=0;

t2=[a d 0; b e 0; c f 1];

% Ampliación (cambio en a y e)

a=5; b=0; c=0; d=0; e=5; f=0;

t3=[a d 0; b e 0; c f 1];

% Como producto matricial

tr=t3*t2*t1;

tform = maketform('affine',tr);

VI = imtransform(II,tform);

figure, imshow(II), figure, imshow(VI)

Page 35: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformaciones

geométricas (IX)

Transformación geométrica inversa

% Obtiene la inversa (imagen original)

[x,y] = tforminv(tform, xy90(:,1), xy90(:,2));

% A partir de la imagen original, la rotada

[u,v] = tformfwd(tform,x,y); xy xy90

Page 36: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Transformaciones

geométricas (X)

Transformaciones geométrica con Simulink

Page 37: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Registro de las imágenes (I)

Registro de las imágenes: Proceso a través del cual

se alinean dos o más imágenes de una misma escena

Pasos fundamentales

1.- Seleccionar puntos de control, significativos de las

imágenes base y de entrada.

2.- Obtener la matriz de transformación basado en los

puntos de control.

3.- Realizar la transformación espacial.

Page 38: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Registro de las imágenes (II)

Selección de puntos de control (cpselect)

Page 39: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Registro de las imágenes (III)

Selección de puntos de control (cpselect)

% Se crea la matriz de transformación

tform = cp2tform(input_points, base_points, 'projective');

% Se alinea la imagen de entrada

[alineada xdata ydata] = imtransform(II45, tform,...

'FillValues', 255);

% Se superponen ambas imágenes

figure; imshow(alineada, 'XData', xdata, 'YData', ydata)

hold on

imshow(II);

Page 40: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Región de interés

>> size(k)

ans =

494 600

>> l=k(192:453,166:453);

>> l(49:262, 1:193)=255;

Distancia (píxels)

Page 41: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Otras opciones imtool

Ampliar zona

Valor de píxeles

Ajuste de contraste

Page 42: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Histograma

][ kk rhn Número de píxeles rk [0, L-1]

>> imhist(a)

Niveles de gris

kr

kn

Page 43: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Histograma (II)

>> I=imread('fig1.jpg');

>> II=rgb2gray(I);

>> [nk, rk]=imhist(II);

>> bar(rk, nk, 1);

Page 44: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Histograma normalizado

n

rhn k

k

][Número de píxeles rk [0, L-1]

>> imhist(I)/numel(I)

Niveles de gris

Número total de píxeles

Page 45: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Selección de umbral

utilizando el histograma

[0, 1,..,254,255] [0, 255]

),( yxg),( yxf

T

Crestas

Valle T

Page 46: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Selección de umbral

utilizando el histograma (II)

Selección visual del umbral

Page 47: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Selección de umbral

utilizando histograma (III)

Media entre grupos (Clustering)

y=imhist(II);

x=[0:1:255]';

datos=[x, y];

[U, v, sumd, D]=kmeans(datos,2);

plot(datos(:,1),datos(:,2),'*')

hold on

plot(v(:,1),v(:,2),'rs')

uint8(mean(v(:,1)))

99

Método de Otsu

graythresh(II)*255

117

Page 48: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Selección de umbral

utilizando histograma (IV)

Método de Otsu

Para los k=[0, L-1] niveles de grises,

se selecciona la menor

varianza entre clases

Page 49: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Selección de umbral

utilizando histograma (V)

Método de Otsu

Page 50: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Selección de umbral

utilizando histograma (VI)

Método de Otsu

k=0 k=1 k=2 k=3 k=4 k=5

3.11 1.52 0.55 0.49 0.97 2.24 2

w

Menor varianza entre clases

Page 51: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Selección de umbral

utilizando histograma (VII)

Otsu Kmedias

Page 52: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Selección de umbral

utilizando histograma (VIII)

Otsu Kmedias Imagen original

Page 53: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Reducción a colores

fundamentales

Color Combinación

RGB

Negro [0 0 0]

Azul [0 0 1]

Verde [0 1 0]

Cian [0 1 1]

Rojo [1 0 0]

Magenta [1 0 1]

Amarillo [1 1 0]

Blanco [1 1 1]

Selección de umbral de cada matriz RGB

(28)3=16,777,216 23=8

Page 54: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Ecualización del histograma

][ kk rhn

k

j

jk nn

s0

1 k = 0…L-1

n = Número total de píxeles

Función de probabilidad de ocurrencia de cada nivel de intensidad

Ecualización o linealización del histograma:

a) Se obtiene el histograma

b) Calcular nuevos valores de intensidades

a) Reemplazar intensidades

píxeles de No.

intensidaddenivelMáximo

0

k

j

jk ns

Page 55: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Ejemplo de ecualización

A =

255 250 255

200 200 250

180 180 150

150

1

255 250 200 180

2

píxeles de No.

intensidaddenivelMáximo

0

k

j

jk ns

>>.5* 255/9

14.1667

>> 2*255/9

56.6667

>> A=uint8(A)

A =

255 250 255

200 200 197

180 180 150

>> B=histeq(A,256)

B =

255 184 255

142 142 99

56 56 14 >> 5*255/9

141.6667

k=0…255

Page 56: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Algoritmo de ecualización

b=imhist(I);

c=b./numel(a);

d=cumsum(c);

e=d.*255;

plot(0:1:255, e);

Función de transformación

I

>> II=histeq(I,256);

II

Page 57: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Histograma ecualizado

I II

Page 58: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Corrección de intervalo

vs ecualización >> I=imread('lincoln.jpg');

>> II=rgb2gray(I);

>> maximo=max(II(:))

189

>> minimo=min(II(:))

13

>> imhist(II)

Page 59: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Corrección de intervalo

% Se extiende rango

>> III=imadjust(II,[13/255 189/255],[0 1]);

>> maximo=max(III(:))

255

>> minimo=min(III(:))

0

Corrige intervalo

III

II

Page 60: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Ecualización

>> IV=histeq(II);

>> imhist(IV)

II

IV

III

Page 61: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Resultado

Ecualización Corrección de

intervalo

Page 62: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Resultado (II)

Ecualización Corrección de

intervalo

Page 63: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Uso de imtool (I)

Page 64: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Uso de imtool (II)

Page 65: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Especificación del histograma

Funciones de transformación

Función gausiana

Función campana

Función sigmoide

Función sigmoide invertida

Combinación de funciones

][ kk rhn

k

j

jk nn

s0

1 kk sTr 1

Page 66: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Utilizando función de ecualización

% Programa de ecualización basado en Gauss

% Centro de la campana

cg=128;

% Ancho de la campana

ac=50;

% Se crea campana

a=exp(-((([1:1:256]-cg)./ac)).^2)';

plot(a);

% Figura a convertir

figure;

b=imread(‘imagen.tif');

imshow(b);

% Se ecualiza

c=histeq(b, a);

figure;

imshow(c)

imhist(c)

Page 67: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Ecualización

Page 68: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Especificación del histograma

c=histeq(b, a); Combinación de funciones

Page 69: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Especificación del histograma (II)

Page 70: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Especificación del histograma(III)

Page 71: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Especificación del histograma(IV)

Page 72: Transformaciones e Histograma€¦ · e Histograma . 1 1 2 3 M 2 3 N f(2,) g(2,3 ) 1 1 2 3 M 2 3 N Transformaciones básicas La transformación de intensidades puede expresarse por:

Especificación del histograma(V)