基于颜色直方图的图像检索
这是第一篇CSDN,前段时间,导师布置任务,题目是基于颜色直方图图像检索,主要是用matlab做,查查改改,差不多用了一周时间。
文笔不好,不写太多的插入语了,直接来。
设计流程
- 对数据集建立索引,利用RGB2hsv算法处理数据集,生成.mat文件;
- 计算pdist2距离,可以选用多种距离,比如欧氏距离,曼哈顿距离,切比雪夫距离,马氏距离等;
- 计算数据集的颜色直方图,选中数据集中相似度前十名的图片进行输出;
具体代码:
- 建立索引
IcolorMom = zeros(324,1000);
for i=1:1000
clear jpgfile;
clear s;
s = [‘Corel1K’,num2str(i) ,’.jpg’];
jpgfile = imread(s);
IcolorMom(:,i)=colorMom(jpgfile);
end
save colorMom IcolorMom;
-
利用RGB2hsv处理图像,计算颜色直方图:
function img_hist = colorMom(jpgfile)
[jpgfile_h, jpgfile_s, jpgfile_v] = rgb2hsv(jpgfile);
[M,N,~] = size(jpgfile);
jpgfile_h = jpgfile_h * 360;
H = jpgfile_h; S