Está en la página 1de 5

i=imread('1.

jpg');

original=rgb2gray(i);

figure; imshow(original);

scale=1.3;

j=imresize(original,scale);

theta=-31;

distored=imrotate(j,theta);

figure; imshow(distored);

%%Se detectan los puntos mas relevantes

ptsOriginal=detectSURFFeatures(original);

ptsDistored=detectSURFFeatures(distored);

%%Se extraen las caracteristicas y se las compara

[featuresOriginal,validPtsOriginal]=extractFeatures(original,ptsOriginal);

[featuresDistored,validPtsDistored]=extractFeatures(distored,ptsDistored);

%%Comparacion de las caracteristicas

%Emparejamiento

indexPairs=matchFeatures(featuresOriginal,featuresDistored);

%%Se encuentra las localizaciones de las dos imagenes

matchedOriginal=validPtsOriginal(indexPairs(:,1));

matchedDistored=validPtsDistored(indexPairs(:,2));

%%Muestra de las caracteristicas de emparejamiento

figure; showMatchedFeatures(original,distored,matchedOriginal,matchedDistored)

%%Se analiza las configuraciones locales

%Se emplean estimaciones geometricas

[tform,inlierDistored,inlierOriginal]=estimateGeometricTransform(matchedDistored,matchedOriginal,'similarity');

[tform,inlierDistored,inlierOriginal]=estimateGeometricTransform(matchedDistored,matchedOriginal,'affine');

[tform,inlierDistored,inlierOriginal]=estimateGeometricTransform(matchedDistored,matchedOriginal,'projective');

figure; showMatchedFeatures(original,distorted,inlierOriginal,inlierDistored);

legend('ptsOriginal','ptsDistored');

outputView=imref2d(size(original));

recovered=imwarp(distored,tform,'OutputView', outputView);

figure; imshowpair(original,recovered,'montage');
ROSTRO

i=imread('rostro.jpg');

original=rgb2gray(i);

figure; imshow(original);

fd=vision.CascadeObjectDetector;

bbox=step(fd,original);

outim=insertObjectAnnotation(original,'rectangle',bbox,'Face');

figure; imshow(outim);

pD=vision.PeopleDetector;

I=imread('cuerpo.jpg');

imshow(I);

[bboxes, scores]=step(pD,I);

j=insertObjectAnnotation(I,'rectangle',bboxes,scores);

figure; imshow(j);
placa=imread('placa.jpg');

placa=im2bw(placa);

L=bwlabel(placa);

stats=regionprops(L,'all');

tam_stats=size(stats);

E=stats(1).BoundingBox;

X=E.*[1 0 0 0];X=max(X);

Y=E.*[0 1 0 0];Y=max(Y);

W=E.*[0 0 1 0];W=max(W);

H=E.*[0 0 0 1];H=max(H);

Corte=[X Y W H];

L1=imcrop(placa,Corte);

L1b=imresize(L1,[42 24]);

subplot(1,2,1); imshow(placa);title('Numeros y letras de Placa');subplot(1,2,2);imshow(L1b);title('Primer Caracter');

L2=imcrop(placa,E);

subplot(1,2,1); imshow(placa);title('Numeros y letras de Placa');subplot(1,2,2);imshow(L2);title('Primer Caracter');

E2=stats(2).BoundingBox;

L3=imcrop(placa,E2);

subplot(1,2,1); imshow(placa);title('Numeros y letras de Placa');subplot(1,2,2);imshow(L3);title('Primer Caracter');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

coge la parte izquierda de la palca

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5

i2=not(placa);

L=bwlabel(i2);

stats=regionprops(L,'all');

E=stats(1).BoundingBox;

L1=imcrop(placa,E);

subplot(1,2,1); imshow(placa);title('Numeros y letras de Placa');subplot(1,2,2);imshow(L1);title('Primer Caracter');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

primeletra

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

E2=stats(2).BoundingBox;

L2=imcrop(placa,E2);

subplot(1,2,1); imshow(placa);title('Numeros y letras de Placa');subplot(1,2,2);imshow(L2);title('Primer Caracter');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5

HACE MAS GRANDE LA LETRA

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
E2=stats(3).BoundingBox;

E2=stats(2).BoundingBox;

E3=stats(3).BoundingBox;

L3=imcrop(placa,E3);

subplot(1,2,1); imshow(placa);title('Numeros y letras de Placa');subplot(1,2,2);imshow(L3);title('Primer Caracter');

imwrite(L1,'m.jpg');

m1=imread('m.jpg');

L12=imresize(L1,[76 42]);

k1=corr2(m1,L12);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

L12=imresize(L1,[97 66]);

k1=corr2(m1,L12);

if k1>0,85

disp('la letra es M')

else

disp('la letra no es M')

k1=corr2(m1,L12);

if k1>0,85

disp('la letra es M')

else

disp('la letra no es M')

end

k1=corr2(m1,L12)

k1 =

0.9994

if k1>0,85

disp('la letra es M')

else

disp('la letra no es M')

end

ans =

85

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%5

la letra es M

I=imread('fot.jpg');
I=rgb2gray(I);

points=detectSURFFeatures(I);

%%display locations of interest in image

imshow(I);

hold on;

plot(points.selectStrongest(200));

imshow(I);hold on;

plot(points.selectStrongest(200));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%

placa=imread('placa.jpg');

placa=im2bw(placa);

i2=not(placa);

L=bwlabel(i2);

stats=regionprops(L,'all');

E=stats(1).BoundingBox;

L1=imcrop(placa,E);

L1b=imresize(L1,[119 70]);

E1=stats(2).BoundingBox;

L2=imcrop(placa,E1);

L2b=imresize(L2,[119 70]);

title('NUMEROS Y LETRAS DE PLACA');subplot(1,2,1);imshow(L1);title('PRIMER


CARACTER');subplot(1,2,2);imshow(L2);title('SEGUNDO CARACTER');

También podría gustarte