Travailler avec correspondance des modèles de la saisie de données manuscrites, mais ils sont confrontés à certains problèmes parce qu'ils sont très nouveaux dans Matlab. Je veux faire correspondre ce modèle
avec celui-ci..
Jusqu'à présent, je l'ai fait :
function result=test(image1,image2)
%*********************************************************
image1=rgb2gray(image1);
image2=rgb2gray(image2);
% check which one is target and which one is template using their size
if size(image1)>size(image2)
Target=image1;
Template=image2;
else
Target=image2;
Template=image1;
end
% find both images sizes
[r1,c1]=size(Target);
[r2,c2]=size(Template);
% mean of the template
image22=Template-mean(mean(Template));
%corrolate both images
M=[];
for i=1:(r1-r2+1)
for j=1:(c1-c2+1)
Nimage=Target(i:i+r2-1,j:j+c2-1);
Nimage=Nimage-mean(mean(Nimage)); % mean of image part under mask
corr=sum(sum(Nimage.*image22));
%warning off
M(i,j)=corr/sqrt(sum(sum(Nimage.^2)));
end
end
% plot box on the target image
result=plotbox(Target,Template,M);
Pour la boîte à idées
function result=plotbox(Target,Template,M)
%*********************************************************
[r1,c1]=size(Target);
[r2,c2]=size(Template);
[r,c]=max(M);
[r3,c3]=max(max(M));
i=c(c3);
j=c3;
result=Target;
for x=i:i+r2-1
for y=j
result(x,y)=255;
end
end
for x=i:i+r2-1
for y=j+c2-1
result(x,y)=255;
end
end
for x=i
for y=j:j+c2-1
result(x,y)=255;
end
end
for x=i+r2-1
for y=j:j+c2-1
result(x,y)=255;
end
end
Et pour les tests, j'utilise
% read Template image
im1=imread('C:\Users\Shuvro\Desktop\New folder\1.jpg');
% read Traget Image
im2=imread('C:\Users\Shuvro\Desktop\New folder\2.jpg');
% apply templete matching using power of the image
result1=test(im1,im2);
figure,
subplot(2,2,1),imshow(im1);title('Template');
subplot(2,2,2),imshow(im2);title('Target');
subplot(2,2,3),imshow(result1);title('Matching Result using tmp');
Mais souvent, ce code ne peut pas identifier le modèle dans l'image source, ne comprenant pas ce qui ne va pas.
En fait, lorsque j'entre 2 images dans le système, je veux que leur hauteur soit similaire. Ensuite, je veux mesurer la largeur de l'image modèle et ensuite je veux scanner l'image source selon cette largeur et examiner les valeurs des pixels. Lorsque ces valeurs de pixels du modèle correspondent à l'image source à plus de 70%, je donnerai le résultat qu'il est trouvé, sinon non trouvé.
Je vous remercie si quelqu'un peut vous aider avec le code ci-dessus en le modifiant ou en donnant des suggestions.