少有人走的路

勇哥的工业自动化技术网站

Matlab进行图像相似度比较,使用欧式距离

实验内容
在网上或者提前准备10张(或以上)图像,使用matlab提取图像直方图特征并进行显示;将图像特征进行保存(保存为矩阵形式.mat格式),并进行图像相似度比较(使用欧式距离)。

clear,clc
for i=1:10
    b=['sce',num2str(i),'.jpg'];%
    s=imread(b); 
    sce=rgb2gray(s);
    [m,n]=size(sce);
    h=imhist(sce,20);
    H=['h',num2str(i),];
    eval([H,'=h./(m*n);']);%对hi赋值
    %save(H,'H');%存储hi.mat
end

mat=[h1,h2,h3,h4,h5,h6,h7,h8,h9,h10];
for i=1:10
    for j=1:10 
        dis(i,j)=0;
        for k=1:20
            dis(i,j)=dis(i,j)+(mat(k,i)-mat(k,j))^2;
        end
        dis(i,j)=sqrt(dis(i,j));
        if i==j
            dis(i,j)=1;
        end
    end
end

x = input('Please input picture number:');
if x<1||x>10
    disp('The number should be between 1 and 10.');
    return;
end
b=['sce',num2str(x),'.jpg'];%
s=imread(b); 
%figure(1);
subplot(1,2,1);
imshow(s);
title('原图');

[x,y]=min(dis(x,:));
b=['sce',num2str(y),'.jpg'];%
s=imread(b);
%figure(2);
subplot(1,2,2);
imshow(s);
title('图像检索');
%输入5效果较好

image.png



————————————————

版权声明:本文为CSDN博主「浮生之居士」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:

https://blog.csdn.net/wcs_152/article/details/83049741


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864