jueves, 15 de julio de 2010

Ejemplo Delimitacion Imagenes






Codigo:

%% Adquirir imagenes
I_original=imread('frutas.jpg');

%% Cambiar la imagen a escala de grises
I=rgb2gray(I_original);

%% Obtener el fondo de la imagen
background=imclose(I,strel('disk',58));

%% Identificacion de objetos
I2=imsubtract(background,I);

%% Binarizar imagen
lavel=graythresh(I2);
intensidad=lavel*255
BW=im2bw(I2,lavel);

%% Relleno de objetos (filtro de la media)
fill=imfill(BW,'holes');

%% Identificar objetos
[niveles, numObjects]=bwlabel(BW,4);
numObjects
stats=regionprops(niveles,'Eccentricity','Area','BoundingBox');
areas=[stats.Area];
excentricidad=[stats.Eccentricity]

%% Delimitar manzana
cantidad=0;
manzana=find(areas>80 & areas < style=""> statsmanzana=stats(manzana)
axes(handles.axes1)
imshow(I_original)
hold on;
cantidad =length(statsmanzana)*1+ cantidad ;
for idx = 1:length(statsmanzana);
h = rectangle ('Position',statsmanzana(idx).BoundingBox,...
'Curvature',[1,0.8],'LineWidth',5,'LineStyle','-.');
set (h,'EdgeColor',[0 0 1]);
hold on

end
hold off
disp([cantidad,'manzana'])
set(handles.valor,'string',cantidad)

Conteo de monedas




%% Primero convertimos la imagen a BW
coin1 = im2bw (imread ('coins.png'));
%% Llenamos las regiones de la imagen y los agujeros
coin2 = imfill (coin1, 'agujeros');
%% Etiquetamos y contarmos con los componentes conectados
[L Ne] = bwlabel (doble (coin2));
%% Determinamos la medina de las regiones de la imagen
prop = regionprops (L, 'Espacio', 'Centroide');
%% Inicializamos el contador a cero
total = 0;
%% Mostramos la imagen
imshow (imread ('coins.png')); conservar
Dinero% count% en base al área de la moneda
para n = 1: el tamaño (por la Proposición 1)% De 1 a número total de monedas
ciento = helice (n). Centroide;
X = centavo(1); Y = centavo (2);
2000" uc="Si la Prop (n). Área> 2000 ">If Prop (n). Area> 2000
texto (X-10, Y, '5 C ')
total = 5;
else
total = 10;
texto (X-10, Y, '10 C ')
end
end
hold on
título ([Total de monedas: num2str(total,'Cents'])

jueves, 10 de junio de 2010

EJERCICIO (Filtro de la Mediana)

EJERCICIO (Filtro de la Mediana)


4.)


Los píxeles de la nueva imagen se generan calculando la mediana del conjunto de píxeles del entorno de vecindad del píxel correspondiente a la imagen origen. De esta forma se homogeneizan los píxeles de intensidad muy diferente con respecto a la de los vecinos. Este tipo de filtro es bastante indicado cuando se tiene ruido aleatorio.
En Matlab la instrucción empleada para realizar el filtro de la mediana es medfilt2.

B = medfilt2(A)

Donde A es la matriz de entrada a la que se le aplica el filtro de la mediana utilizando por defecto una vecindad de 3X3.

CODIGO


imc=imread('C:\MATLAB7\work\imagenes\lena.jpg');

im=rgb2gray(imc);
fg = imnoise(im,'gaussian');
fs = imnoise(im,'salt & pepper',0.1)
h1=fspecial('average');
media1=imfilter(fg,h1);
media2=imfilter(fs,h1);
mediana1=medfilt2(fg);
mediana2=medfilt2(fs);
%Representaciones de las imágenes
subplot(2,3,1),subimage(fg),title('Imagen con ruido gaussiano');
subplot(2,3,4),subimage(fs),title('Imagen con ruido aleatorio');
subplot(2,3,2),subimage(media1),title('Filtro media');
subplot(2,3,5),subimage(media2),title('Filtro media');
subplot(2,3,3),subimage(mediana1),title('Filtro mediana');
subplot(2,3,6),subimage(mediana2),title('Filtro mediana');




EJERCICIO (Filtro de la mediana)

EJERCICIO (Filtro de la mediana)

3.)

El filtrado mediana (mediante la función medfilt2) es útil para eliminar valores de píxeles extremos. El filtrado mediana utiliza vecindarios deslizantes para procesar una imagen, esto es, determina el valor de cada píxel de salida examinando un vecindario de tamaño mxn alrededor del correspondiente píxel de entrada.
El filtrado mediana ordena los valores de los píxeles en un vecindario y elige el valor mediana como resultado.
Como ejemplo se añadirá ruido del tipo “salt&peper” a una imagen y posteriormente se filtrará mediante un filtro media y un filtro mediana para que se observe la diferencia.

CODIGO

I=im2double(imread('eight.tif'));
J=imnoise(I,'salt & pepper',0.02); %Añade a imagen I ruido sal y pimienta de densidad 0.02
figure, imshow(I); title('imagen original ');
figure, imshow(J);title('imagen con ruido sal y pimienta');
K=filter2(fspecial('average',3),J); %Filtro J con filtro promedio en entorno de vecindad 3x3
L=medfilt2(J,[3 3]); %Filtro imagen J con filtro mediana en entorno de vecindad 3x3
figure, imshow(K); title('Resultado filtro media ');
figure, imshow(L); title('Resultado filtro mediana ');

EJERCICIO (Filtro de la Media)

EJERCICIO (Filtro de la Media)

2.)

Procedimiento para el suavizado de imágenes reduciendo la variación de intensidad entre un píxel y el siguiente.Se utiliza para reducir el ruido en las imágenes.





































Filtrado por la mediana

Píxeles originales {2, 3, 8, 4, 2}

Ventana {-1, 0, 1}

Mediana de {2, 3, 8} = 3

Mediana de {3, 8, 4} = 4

Mediana de {8, 4 , 2} = 4

Píxeles transformados {2, 3, 4, 4, 2}













EJERCICIO (Umbralizacion)

1.)

* Se toma 2 elevado a la 3 porque es el numero de almacenamiento de la imagen.

* Según el histograma se toma la decisión de utilizar >= ó <= En el ejemplo utilizamos >=.

* Se observa que pixel predomina y ese será el punto para hacer la umbralización









lunes, 7 de junio de 2010

Histograma

El histograma es una ventana de diálogo que presenta, de forma gráfica, un resumen estadístico del recuento de los píxeles de una imagen según su distribución, es decir, relaciona los niveles de intensidad de una imagen y el número de píxeles que poseen tal nivel de intensidad.

Fórmula del Histograma:

De dondeel valor de la k-ésima intensidad en el intervalo [0, I máx] y es el número de píxeles que posee la intensidad

El histograma puede estar normalizado:

Ejemplo:

 



Filtro de la Mediana

El valor final del píxel es un valor real presente en la imagen y no un promedio, de este modo se reduce el efecto borroso que tienen las imágenes que han sufrido un filtro de media. Este filtro es menos sensible a valores extremos. El inconveniente es que posee es que es más complejo de calcular ya que hay que ordenar los diferentes valores que aparecen en los píxeles incluidos en la ventana y determinar cual es el valor central.


Fórmula del filtro:


Distribución de la Mediana:





Filtro de la Media




Asigna al píxel central la media de todos los píxeles incluidos en la ventana. La matriz de filtrado estaría compuesta por unos y el divisor sería el número total de elementos en la matriz. Se utiliza el criterio de vecindad.

 Pueden ser: online y offline.

Imagenes Digitales


La imagen digital es cualquier imagen fija o en movimiento, que se capture en un medio electrónico y que se represente como un archivo de información leído como una serie de pulsos eléctricos, los mismos que están basados en un sistema binario (unos y ceros).

Tipos:

  • Imagenes Binarias
  • Imagenes Vectoriales

Imagen


Es la representación visual de un objeto, una persona, un animal o cualquier otra cosa que puede ser captada por el ojo humano a través de diferentes técnicas como ser la pintura, el diseño, la fotografía y el video, entre otras.

Tratamiento de Imagenes