Procesamimento digital de imagenes en matlab
Enviado por Uriel Hdz • 16 de Abril de 2017 • Tutorial • 2.251 Palabras (10 Páginas) • 81 Visitas
Lunes, 29 de junio de 2015
Tema:
Clase de operadores en el tratamiento BASICO de imágenes con MATLAB 2014.
NOTA:
Se ha incluido el Operador Reducción Nivel de Gris.
“Agradecer no cuesta nada” no se limiten en investigar.
Editor de MATLAB:
%Imagen Original, convertida a una imagen en grises, imagen a Binario.
%Por favor MODIFICAR LA IMAGEN A EMPLEAR. "f=imread('XXX.JPG')"
%La imagen debe estar contenida en la carpeta original donde se ejecutara el programa:
%Ejemplo para un archivo MATLAB “.m “:C:\Users\Jose Morales Inoñan\Documents\MATLAB
%Esta dirección esta predefinida el archivo de MATLAB al ser instado.
f=imread('3.jpg');
g=rgb2gray(f);
%h=gray2ind(f);
i=im2bw(f);
%j=rgb2ind(f);
subplot(2,2,1); imshow(g)
%subplot(2,2,2); imshow(h)
subplot(2,2,3); imshow(i)
%subplot(2,2,4); imshow(j)
%% Clases de operadores básicos en el tratamiento de imágenes.
img = imread('3.jpg' ); % Asigna una imagen a una variable o array.
imshow(img) % Visualiza la imagen de entrada "P".
imgR=img(:,:,1); % para extraer un valor de color rojo.
imgG=img(:,:,2); % para extraer un valor de color verde.
imgB=img(:,:,3); % para extraer un valor de color azul.
subplot(2,2,1);imshow(img) % imagen original en una posición.
title('Imagen original'); % Texto de la imagen Original.
subplot(2,2,2);imshow(imgR) % Imagen en rojo en una posición.
title('Imagen en ROJO'); % Texto de la imagen Rojo.
subplot(2,2,3);imshow(imgG) % Imagen en verde en una posición.
title('Imagen en VERDE'); % Texto de la imagen Verde.
subplot(2,2,4);imshow(imgB) % Imagen en azul en una posición.
title('Imagen en AZUL'); % Texto de la imagen Azul.
%% Conversión de la imagen de entrada a escala de grises.
imgGr=rgb2gray(img); % Comando en Matlab para transformar de imag color a grises.
imshow(imgGr) % Visualiza la imagen (gris).
title('Imagen en ESCALA DE GRISES');
%% Conversión de la imagen de entrada a binario.
imgBi=im2bw(imgGr,80/255); % Comando en Matlab para convertir a binario( blanco y negro ).
imshow(imgBi) % Visualiza la imagen (binario).
% Umbral normalizado 80/255=0.313
% ..0/255=0, 100/255=0.5, 255/255=1
% Analiza la imagen para aplicar,
% eliminar lo que no se desea.
%% Histograma de una imagen en escala de grises.
imhist(imgGr) % Para histograma, en imagen a color 3 histograma, aqui solo una por ser gris.
%% Operador Umbral. % Se puede tener binarizacion de imagen.
[fil,col]=size(imgGr) % Recorre pixel por pixel filas,columnas de la imagen en gris utilizada (podemos usar una en color).
for j=1:fil % Recorre filas.
for i= 1:col % Recorre columnas.
if (imgGr(j,i)>80) % Se asigna P1=80 ver parametros del operador umbral,(picel es mayor).
imgBin(j,i)=255; % Hacer P>=P1 en alto Q= 255, imagen de salida va a ser 255.
else % De lo contrario.
imgBin(j,i)=0 ; % P<=P1 hacerse = 0, imagen de salida Q=0.
end % Finaliza el bucle IF.
end % Finaliza el bucle FOR.
end % Finaliza el bucle FOR.
imshow(imgBin) % Visualiza el operador Umbral (imgBin= Binarización).
%% Operador Inverso o Negativo.
[fil,col]=size(imgGr)
for j=1:fil
for i= 1:col
imgNg(j,i)=255 - imgGr(j,i); % 255 menos la variable P=imagen de entrada. Se invierte la recta (ver grafico del operador en el libro).
end
end
imshow(imgNg)
%% Operador Intervalo de Umbral Binario.
[fil,col]=size(imgGr)
P1=80,P2=200 % Parametros del operador. Ver grafica del operador en el libro.
for j=1:fil
for i= 1:col
if (imgGr(j,i)
...