Manejo de Imagenes en Matlab

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 29

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE-L

CARRERA ELECTRÓNICA E INSTRUMENTACIÓM

ASIGNATURA:

PROCESAMIENTO DIGITAL DE SEÑALES

TEMA:
MANEJO DE IMÁGENES EN MATLAB

DOCENTE:
ING. FAVIÁN ÁLVAREZ
NRC:
1224

Latacunga a 17 de junio del 2016


Cargar una imagen en el software Matlab transformar al formato TIFF, modificar a la
escala de grises, creando una matriz unitaria de dimensión m*n (con dimensiones de la
imagen), restar a la matriz de escala de grises y mostrar los resultados de cada etapa.

IMAGEN 1

Paso 1

Código de cargado de imagen:

im1 =imread ('rostro.jpg');


im1 =imread('C:\Users\USUARIO\Documents\MATLAB\rostro.jpg');
subplot(1,1,1);
figure
imshow(im1)
En esta parte se sube la imagen con el comando imread lo muestra en pantalla con
imshow(im1), el subplot permite dimensionar el tamaño de la imagen. A Continuación se
muestra la imagen original:

Figura Nº 1 Imagen original cargada

Paso 2
Si la imagen se encuentra en un formato diferente al tiff es necesario transformarlo a esto,
en este cao la imagen se encuentra en el formato jpg lo cual es necesario realizar su
modificación con el siguiente comando:

A=double(imread('rostro.jpg'));
A=A(:,:,1);
B=uint8(A);
imwrite(B,'C:\Users\USUARIO\Documents\MATLAB\rostro.tiff');
subplot(2,2,2);
imshow(B);
title('IMAGEN FORMATO TIFF')
[M,N]=size(B);
C=double(imread('rostro.jpg'));
C=C(:,:,1);
D=uint8(C);
imwrite(D,'C:\Users\USUARIO\Documents\MATLAB\rostro.tiff');%
subplot(2,1,2);
imshow(D);

De la misma manera el comando nuevo que aparece es el uint8(A) permite trabajar con
enteros de 8 bits en el rango de [0. 255] (1 byte por cada elemento). El imwrite lo
modifica al formato tiff de la imagen, a continuación se muestra la imagen transformada:

Figura Nº 2 Imagen de formato tiff similar a lo anterior lo que se diferencia es el manejo que se
puede hacer por cada bit de la imagen.

Paso 3
Luego con el siguiente procedimiento se obtiene una imagen a escala de grises:

D=uint8(C);
imwrite(D,'C:\Users\USUARIO\Documents\MATLAB\rostro.tiff');
subplot(2,1,2);
imshow(D);
title('ESCALA DE GRISES')
[Mi,Ni]=size(D);
dimT=[M,N];

A continuación se muestra la figura escala de grises:

Figura Nº 3 Modificación de la imagen a la escala de grises

Paso 4

Ahora creamos una matriz unitaria (de unos) con las mismas dimensiones de la matriz de
la imagen de escala de grises:

[Mi,Ni]=size(D);
dimT=[M,N];
UNOST= ones(dimT);
dimI=[Mi,Ni];
UNOSI= ones(dimI);
Rango1_0= A/255;
Y=UNOST-Rango1_0;
subplot(2,1,1); imshow(Y)
title('RESTA DE LA MATRIZ ESCAL DE GRISES CON UNA MATRIZ DE UNOS')

La parte enmarcada efectúa la resta de las matrices obteniendo la siguiente gráfica:


Figura Nº 4 Matriz a escala de grises y la otra restada menos una matriz unitario

Eso es todo en cuanto a lo que se puede obtener los resultados al restar la matriz de uno y
se obtiene resultados diferentes, en este caso es el valor viceversa.

1. Imagen Negativo

Figura Nº 5 Análisis de recta de la imagen negativa


Figura Nº 6 Visualización de la imagen negativa junto con el histograma

Código
imagen2= imread('rostro.jpg');
im2d=double(imagen2);
%img2 = log(1+im2d)
img2gris = mat2gray(im2d);
im2gris= rgb2gray(img2gris);
%imagen2gris=uint8(img2gris)
subplot(1,2,1); imshow(im2gris);
title('Imagen 1')
%Matriz de unos
B=ones(size(im2gris));
imresta = B-im2gris;
subplot(1,2,1); imshow(imresta);title('')
subplot(1,2,2); imhist(imresta);

2. Imagen a blanco y negro

Figura Nº 7 Análisis de recta de blanco y negro


Figura Nº 8 Imagen a blanco y negro y el histograma

Código
A=imread('rostro.jpg');
B=imread('rostro.jpg');
ga=im2double(A);
gb=im2double(B);
bna2=ga;
bnb2=gb;
for i=1: m
for j=1: n
if (ga(i,j)<0.5)
bna2(i,j)=0;
else
bna2(i,j)=1;
end
end
end
for i=1: f
for j=1: c
if (gb(i,j)<0.5)
bnb2(i,j)=0;
else
bnb2(i,j)=1;
end
end
end

3. Imagen con brillo resaltado


Figura Nº 9 Análisis de la grafica

Figura Nº 10 Imagen resaltada con su respectivo histograma

Código
bna3=ga;
bnb3=gb;
for i=1: m
for j=1: n
if (ga(i,j)<l)
bna3(i,j)=bna3(i,j)-0.1;
else
bna3(i,j)=bna3(i,j)+0.1;
end
end
end
for i=1: f
for j=1: c
if (gb(i,j)<l)
bnb3(i,j)=bnb3(i,j)-0.1;
else
bnb3(i,j)=bnb3(i,j)+0.1;
end
end
end

4. Imagen con un filtro pasa-banda

Figura Nº 11 Análisis de la recta

Figura Nº 12 Imagen correspondiente para este caso

Código
bna5=ga;
bnb5=gb;
for i=1: m
for j=1: n
if (ga(i,j)<a || ga(i,j)>b)
bna5(i,j)=0;
else
bna5(i,j)=bna5(i,j);
end
end
end

5. Imagen con un filtro pasa-banda


Figura Nº 13 Recta de análisis

Figura Nº 14 Imagen con filtro pasa-banda

Código
bna6=ga;
bnb6=gb;
for i=1: m
for j=1: n
if (ga(i,j)<a || ga(i,j)>b)
bna6(i,j)=1;
else
bna6(i,j)=bna6(i,j);
end
end
end
for i=1: f
for j=1: c
if (gb(i,j)<a || gb(i,j)>b)
bnb6(i,j)=1;
else
bnb6(i,j)=bnb6(i,j);
end
end
end

6. Imagen con mayor cantidad de blanco

Figura Nº 15 Recta de análisis


Figura Nº 16 Imagen con mayor cantidad de blanco

Código
bna8=ga;
bnb8=gb;
for i=1: m
for j=1: n
if (ga(i,j)>a && ga(i,j)<b)
bna8(i,j)=1;
else
bna8(i,j)=bna8(i,j);
end
end
end
for i=1: f
for j=1: c
if (gb(i,j)>a && gb(i,j)<b)
bnb8(i,j)=1;
else
bnb8(i,j)=bnb8(i,j);
end
end
end

7. Imagen con mayor cantidad de negro


Figura Nº 17 Recta de imagen para este caso

Figura Nº 18 Resultado de la imagen

Código
clc;
clear;
a=0.2;
b=0.8;
imagen2= imread('rostro.jpg');
im2d=double(imagen2);
%img2 = log(1+im2d)
img2gris = mat2gray(im2d);
im2gris= rgb2gray(img2gris);
m=find(im2gris>=a & im2gris<=b);
im2gris(m)=zeros(size(m));
subplot(1,2,1); imshow(im2gris)
subplot(1,2,2);imhist(im2gris)

8. Imagen con pérdidas de color y negro

Figura Nº 19 Recta de análisis

Figura Nº 20 Imagen con pérdidas de color y negro

9. Imagen con pendiente mayor


Figura Nº 21 recta de la imagen e análisis

Figura Nº 22 Imagen resultante

Código
clc;
clear;
imagen2= imread('rostro.jpg');
im2d=double(imagen2);
img2gris = mat2gray(im2d);
im2gris= rgb2gray(img2gris);
subplot(2,2,1); imshow(im2gris);title('Imagen ')
subplot(2,2,2); imhist(im2gris);
g=imadjust(im2gris, [0 1], [0 0.5]);
subplot(1,2,1); imshow(g)
subplot(1,2,2); imhist(g)

10. Imagen con pendiente menor

Figura Nº 23 Recta con pendiente menor

Figura Nº 24 Imagen con pendiente menor

Código
bna10=ga;
bnb10=gb;
for i=1: m
for j=1: n
bna10(i,j)=(0.75)*bna10(i,j);
end
end
for i=1: f
for j=1: c
bnb10(i,j)=(0.75)*bnb10(i,j);
end
end
IMAGEN 2

Para mostrar una mejor ejecución del programa se efectuó otra imagen como se muestra a
continuación lo cual no se pondrá el condigo porque anteriormente se mostró y es similar:

Figura Nº 25 Imagen real

Figura Nº 26 Imagen de escala de grises


Figura Nº 27 Figura restada la matriz de unos

1. Imagen en Negativo

Figura Nº 28 Recta de la imagen


Figura Nº 29 Imagen negativa

2. Imagen a Blanco y Negro

Figura Nº 30 Recta de a grafica


Figura Nº 31 Imagen a blanco y negro

3. Imagen resaltado el brillo

Figura Nº 32 Recta de resalto de brillo


Figura Nº 33 Imagen resaltado el brillo

4. Imagen con un filtro pasa-banda

Figura Nº 34 Recta del filtro pasa-banda


Figura Nº 35 Imagen con un filtro pasa-banda

5. Imagen con un filtro pasa-banda

Figura Nº 36 Recta de la imagen


Figura Nº 37 Imagen con un filtro pasa-banda

6. Imagen con cantidad de blanco mayor

Figura Nº 38 Recta de la imagen


Figura Nº 39 Imagen con cantidad de blanco mayor

7. Imagen con mayor cantidad de negro

Figura Nº 40 Recta con mayor cantidad de negro


Figura Nº 41 Imagen con mayor cantidad de negro

8. Imagen con pérdidas de color negro

Figura Nº 42 Recta de pérdida de color negro


Figura Nº 43 Imagen con pérdidas de color negro

9. Imagen con mayor pendiente

Figura Nº 44 Recta de imagen


Figura Nº 45 Imagen con mayor pendiente

10. Imagen con pendiente menor

Figura Nº 46 Recta de pendiente menor


Figura Nº 47 Imagen con pendiente menor

También podría gustarte