how to match two imaes

5 次查看(过去 30 天)
reema
reema 2014-7-26
评论: reema 2014-8-12
sir i want to matchtwo iamgesin if statement me usee the code is given below:
h=subImage;
h1=imread('14.jpg');
A=rgb2gray(h);
A1=rgb2gray(h1);
% axes(handles.axes10);
% imshow(I);
% figure, imshow(A);
J=imhist(A);
J1=imhist(A1);
figure, imshow(J1);
E_distance= sqrt(sum((J-J1).^2));
if E_distance == 0
figure, imshow('14.jpg');
else E_distance == 1
figure, imshow('dar.jpg');
% w=imread('6.jpg');
% figure;
% imshow(w);
end
guidata(hObject, handles);
axis equal;
axis tight;
axis off;
the ans in cammand window is 0, but show the the pic which is in else block.. check my codee plzz

回答(2 个)

SRI
SRI 2014-7-26
Hi Reema Just try this Code you can Find How many times does the image will be displayed, after running the program keep the mouse cursor on Flag and Count of the program it will show the number that much times your output will be displapayed..
clc; warning off;
A = imread('cameraman.tif');
B = imread('circles.png');
c = im2bw(A);
d = im2bw(B);
E = sqrt(sum(c-d).^2);
count = 1;
flag = 1;
for i = 1:length(E)
if E(i) > 100
imshow(c);
count = count+1;
else E(i) <= 100;
imshow(d)
flag = flag + 1;
end
end

Image Analyst
Image Analyst 2014-7-26
When you say
if E_distance == 0
figure, imshow('14.jpg');
else E_distance == 1
figure, imshow('dar.jpg');
% w=imread('6.jpg');
% figure;
% imshow(w);
end
You're really doing
if E_distance == 0
figure
imshow('14.jpg');
else
E_distance == 1
figure
imshow('dar.jpg');
end
And since E_distance is not 1, and there is no semicolon, it will spit out an "ans = 0" to the command window.
  12 个评论
Image Analyst
Image Analyst 2014-8-9
Depends on what you mean. You can match histograms using this method or using the built-in imhistmatch(). You can find templates in a larger image using normxcorr2(). You can use SIFT or SURF (patented techniques) to do CBIR. You can use CBIR methods (Google it). Or you can just look at how everyone else does face recognition and copy their method.
reema
reema 2014-8-12
i got the ans of my Question that is:
i1=SelectedImage;i1=i1(:,:,1);
[c1,n]=imhist(i1);
c1=c1/size(i1,1)/size(i1,2);
% C1=scalar(c1);
i2=imread('C:\Users\Reema shaheen\Documents\MATLAB\PCA WALA\static\7.bmp');i2=i2(:,:,1);
[c2,n2]=imhist(i2);
c2=c2/size(i2,1)/size(i2,2);
% C2=scalar(c2);
d = pdist2(c1',c2');
if (d == 0)
figure, imshow('1.bmp');
else
figure, imshow('3.jpg');
end

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by