图像检索基于matlab小波变换DWT图像检索含Matlab源码 2404期

Posted 海神之光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像检索基于matlab小波变换DWT图像检索含Matlab源码 2404期相关的知识,希望对你有一定的参考价值。

⛄一、小波变换DWT图像检索简介

1 聚类算法
1.1图像聚集区的选取

图像检索系统分为三个步骤,首先要提取合适的特征,来代表整个图像的内容,人们在观察图像时眼睛经常会聚焦在图像的中心区域,所以本文选择图像的中心区域来提取局部特征,找到图像的中心O(x0,y0),长宽分别为Width/2,Height/2的矩形区域。当然也可根据关键图的图像特点选取局部区域。

作为图像的局部区域,提取这局部区域的颜色特征。颜色是图像的重要视觉信息,颜色空间有RGB、HSV、MTM颜色空间。RGB颜色空间简单、直观,不具有均匀性,颜色之间的距离与人的视觉感知差异很大;HSV空间对光照强弱变化,观察角度变化具有一定的鲁棒性,颜色均匀,特征比较稳定,是较好的颜色空间,被广泛应用于计算机领域。

首先在RGB颜色空间上,将图像的颜色量化到256级,量化的方法是:分别提取出RGB三分量的高3、3、2位,组成一个8位的颜色值,这样就将图像的颜色值量化为256种颜色,然后RGB颜色空间转换到HSV颜色空间,各分量都进行归一化处理,提取关键图与每个检索图像的局部区域的颜色特征向量,运用欧氏距离计算公式:

选择某一阈值后,得到与关键图一类的子图像库。

2 小波变换
小波被看作是一种用于多层次分解函数的工具,数字信号经过小波变换后可以用小波系数来描述,小波系数体现原图像信息性质,图像信息的局部特征可以通过处理小波系数而改变。

本文算法的第二次检索[8,9,10]是在HSV空间,对图像的H、S、V各个分量进行Dauchechies小波变换,计算LL频带小波系数的标准方差σ,i表示第i个分量,即i=(H,S,V),β∈(0,1)是常数,调节输出图像的数目. 只要有HSV三个分量中有一个能使公式(2)成立,就认为关键图与检索图相差不大.

按照如下公式计算关键图K与检索图S的距离.

其中的W表示各频带(LL,LH,HL,HH)第i个颜色分量小波系数的Euclidean距离;αLL,αLH,αHL,αHH分别表示各频带(LL,LH,HL,HH)距离的权值;βi表示个HSV颜色分量距离的权值。

3 综合检索算法

3.1流程图
3.2算法描述

1 图像中心区域的选取
2 计算图像中心区域的颜色直方图
2.1 关键图与检索图中心区域的颜色特征向量
2.2 通过关键图与检索图像之间的颜色特征向量之间的欧氏距离,进行分类,找到与检索图像最相似子图像库
3 对找到的子图像库中的图像进行小波变换,并进行二次检索。
3.1将RGB颜色值转化为HSV颜色值。
3.2在HSV颜色空间上对图像进行小波变换。
3.3计算LL频带部分的,HSV各颜色分量的小波系数的标准方差。
3.4按照如下公式(2)评判关键图与检索图是否相差太大,如果相差太大,则放弃检索本检索图;否则接着进行下边的操作。

(4)
其中K为关键图,S为检索图,σ为LL频带小波系数的标准方差,i表示第i个分量,即i=(R,G,B),β∈(0,1)是常数,调节输出图像的数目。只要有HSV三个分量中有一个能使公式(2)成立,就认为关键图与检索图相差不大。

3.5按照如下公式计算关键图K与检索图S的距离.
其中的W表示各频带(LL,LH,HL,HH)第i个颜色分量小波系数的Euclidean距离;αLL,αLH,αHL,αHH分别表示各频带(LL,LH,HL,HH)距离的权值; βi表示个HSV颜色分量距离的权值;

4 二次检索的相似图像进行排序,并输出结果

⛄二、部分源代码

clc;close all;clear all;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%说明:对图像库中的所有图像,进行特征提取,且保存这些特征,以备检索时用
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%第1步:对图像库中所有图像进行特征提取
ImgFilePath=‘data\\all_img’;
D=dir([ImgFilePath ‘*.jpg’]);
for n=1:length(D) %一张一张打开图像
f=[ImgFilePath D(n).name]; %合成图像文件名
Img=imread(f);

[H,W,dim]=size(Img);
%若打开的是灰度图像,处理一下
if (dim<3)
   t=Img;
   Img(:,:,1)=t;Img(:,:,2)=t;Img(:,:,3)=t;
end
%figure(1),imshow(Img)

%分别对打开的图像,提取特征
[Fea] = DWT(Img);

ImgSet(n).fea=Fea;          %记下特征
ImgSet(n).ImgName=f;        %记下图像文件名
if (mod (n,10)==0)
   n 
end

end

⛄三、运行结果


⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]马自萍,康宝生.小波变换在彩色图像检索中的应用[J].黑龙江大学自然科学学报. 2010,27(04)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

以上是关于图像检索基于matlab小波变换DWT图像检索含Matlab源码 2404期的主要内容,如果未能解决你的问题,请参考以下文章

图像融合基于matlab主成分结合小波离散变换PCA-DWT图像融合含Matlab源码 2199期

图像融合基于matlab高分辨率全色图小波变换DWT图像融合(含评价指标)含Matlab源码 2408期

图像隐藏基于小波变换DWT图像水印嵌入提取含各类攻击matlab源码

图像隐写基于matlab小波变换DWT数字盲水印嵌入+攻击含Matlab源码 2313期

图像隐写基于matlab小波变换DWT数字盲水印嵌入+攻击含Matlab源码 2313期

图像加密基于matlab行列像素置乱+DWT图像加密含Matlab源码 675期