假設我有一個查詢圖像,並且在matlab中有一個數據庫有10個圖像。我可以讀出並顯示一個相對於查詢圖像具有最小歐幾里德距離的圖像。但現在,我想閱讀並顯示來自該數據庫的至少5個圖像,這意味着我想要在五個不同的窗口中閱讀並顯示五個圖像。如何顯示相對於查詢圖像具有最小歐幾里德距離的5幅圖像
我的閱讀和顯示與具有最小歐幾里得距離的單個圖像程序如下:
G=imread('spine.tif');
H = adapthisteq(G,'clipLimit',0.01,'Distribution','rayleigh');
[rows cols]=size(H);
[c1,s1]=wavedec2(H,1,'db1');
X=c1;
figure,imshow(G);
figure,imshow(H);
fileFolder=fullfile(matlabroot,'toolbox','images','imdata');
dirOutput=dir(fullfile(fileFolder,'*.tif'));
fileNames={dirOutput.name}
n=numel(fileNames)
g=zeros(1,n)
for k = 1 : n
fileNames1=strcat('fullfile(fileFolder)',fileNames(k))
I = imread(fileNames{k});
J = adapthisteq(I,'clipLimit',0.01,'Distribution','rayleigh');
J = imresize(J, [rows cols]);
[c2,s2]=wavedec2(J,1,'db1');
Y=c2;
E_distance = sqrt(sum((X-Y).^2));
g(1,k)=E_distance;
if g(1,k)==0
w=k;
end
end
disp(g);
II=imread(fileNames{w});
figure, imshow(II);
我的問題是,我怎麼能讀取並從該數據庫顯示至少五個圖像,在五個不同的窗口。
我想計算一個給定圖像的歐幾里得距離,每5個圖像一個接一個我想看看哪個圖像出現了5個歐幾里得距離最小的圖像,並逐一顯示出來......請幫助我。 。感謝你 – ranadhir