媒体计算第一次上机

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wcs_152/article/details/83049741

实验内容
在网上或者提前准备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效果较好

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wcs_152/article/details/83049741