how to match two imaes

4 views (last 30 days)
reema
reema on 26 Jul 2014
Commented: reema on 12 Aug 2014
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

Answers (2)

SRI
SRI on 26 Jul 2014
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 on 26 Jul 2014
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 Comments
Image Analyst
Image Analyst on 9 Aug 2014
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 on 12 Aug 2014
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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!