Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

PROYECTO FINAL VISIÓN POR COMPUTADOR

No description
by

jairo ramirez

on 11 June 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of PROYECTO FINAL VISIÓN POR COMPUTADOR

Objetivo
Identificar cuatro (4) denominaciones de billetes por medio de la detección de algunas características especiales que estos presentan, utilizando las técnicas vistas en clase y haciendo uso de la herramienta MATLAB para el procesamiento.
Caja Negra
Operaciones morfológicas no vistas en clase
Código de Matlab
Procesamiento de la imágen
Procesamiento de la imágen
Código Matlab
Características de cada billete
GUIDE!
PROYECTO FINAL VISIÓN POR COMPUTADOR
Identificador de denominación de billetes
f=imread('diezmil.jpg');
%Conversión escala de grises
g=rgb2gray(f);
%Realiza el filtro de mediana sobre la imagen
g=medfilt2(g,[3 3]);
%Se define el elemento estructurante
conc=strel('disk',1);
gi=imdilate(g,conc);
ge=imerode(g,conc);
%diferencia de la erosion y dilatacion
gdiff=imsubtract(gi,ge);
%Crea una imagen en escala de grises a
%partir de datos en una matriz, reescalando los datos.
gdiff=mat2gray(gdiff);
gdiff=conv2(gdiff,[1 1;1 1]);
%transforma los valores de intensidad de la imagen
gdiff=imadjust(gdiff,[0.5 0.7],[0 1], .1);
%expansión de grises entre 0.5 y 0.7 a [0 1]

%Retorna el mejor umbral para realizar la
binarización
u=graythresh(gdiff);
imbin=im2bw(gdiff,u);

%Elimina pixeles menores a 150
imbin=bwareaopen(imbin,150);

%Recorta la imagen para la zona que
necesitamos segmentar
rect=[0 0 1000 1000];
imbin=imcrop(imbin,rect);



*
mat2gray
: Es útil si se tiene una matriz que representa una imagen pero los valores que representan la escala de grises no son adecuados. El comando mat2gray automáticamente re-escala todas las entradas a valores que se encuentren entre 0 y 255 (si se utiliza uint8) o 0 y 1 ( si se utiliza double).

*
Imadjust
: Funciones que actúan sobre un pixel de la imagen modificando su valor de intensidad

soporte celular
velcro
led
led
led
fondo con ranuras
normal
subtract
mat2gray
conv2
imadjust
bwareaopen
%Etiquetamos los objetos de la imagen
[L Ne]=bwlabel(imbin);
prop=regionprops(L);

%%%%%PARA BILLETE DE MIL%%%%%%%

mil=0;
nii=0;
ni=0;

s=find([prop.Area]>1693 & [prop.Area]<1713);

for n=1:size(s,2)
rectangle('Position',prop(s(n)).BoundingBox,'EdgeC olor','g','LineWidth',2);

imagen1=imcrop(imbin,prop(s(n)).BoundingBox);
nii=prop(s(n)).Area;

figure
imshow(imagen1)
end


if nii~=0
mil=1;
end

s=find([prop.Area]>5202 & [prop.Area]<5225);

for n=1:size(s,2)
rectangle('Position',prop(s(n)).BoundingBox,'EdgeColor','g','LineWidth',2);
imagen1=imcrop(imbin,prop(s(n)).BoundingBox);
ni=prop(s(n)).Area;
figure
imshow(imagen1)
end

if ni~=0 & mil==1

disp('EL BILLETE ES DE MIL (1.000) PESOS')
else

disp('NO ES DE MIL')
end
1.000
2.000
10.000
50.000
Full transcript