【图像检索】颜色特征图像检索(含直方图距离)【含Matlab源码 4145期】

在这里插入图片描述
✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。

更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)

⛄一、综合颜色和形状特征图像检索简介

0 引言
随着多媒体技术与网络技术的发展, 基于内容的图像检索(Content-Based Image Retrieval, CBIR) 技术作为信息检索技术重要的一部分, 成为国际国内的研究热点,其主要利用图像的视觉特征如颜色、纹理、形状和空间关系等搜索图像库中与待查询图像相似的图像,颜色是图像最底层、最显著的特
征,形状是彩色图像最稳定的特征,其不受亮度等环境变化的影响。
CBIR算法主要考虑的是待查询图像与图像库中图像的相似度, 但是有时候却忽略了图像库中已存在图像之间的相似性, 如果利用聚类算法将图像库中的图像聚类, 使得检索过程在类心或某一类内进行, 就会降低图像检索的空间, 提高检索的速度。聚类算法在图像检索领域中有广泛的应用, K-means算法应用最广,其优点是通用、聚类速度快,保证以二次收敛的速度终止,但缺点是终止于一个局部最小值,对初始类心依赖性强,导致检索结果不稳定。近几年,出现了许多基于K-means算法的图像检索算法 。文献主要提出了平均面积直方图的概念, 然后基于图像密度函数确定初始聚类中心, 按照K-means思想迭代优化, 对特征提取方法的改进提高了检索的准确性, 但是初始类心的确定方式使得算法的时间复杂度较大。文献针对K-means随机选取初始值导致聚类结果不稳定的特点,根据特征距离累加和最大选取初始聚类中心,保证了检索结果的稳定性,提高了检索的准确性,但是检索的效果从绝对意义上来说还有待提高。文献提出了基于区域分割的方法, 利用K-means算法对像素进行聚类进而形成基于局部的特征信息, 然后利用分层聚类算法将相似的物体特征进行聚类,取代了传统的基于图像整体信息的聚类,但是基于像素的处理,以及算法的迭代特性,导致其时间复杂度较大,提取基于局部的特征信息的时候信息丢失量较大,检索精度有待提高。以上算法还有不足,颜色直方图信息丢失量大,特征提取效果较差,而且仅仅通过单一的图像特征难以有效全面地描述图像内容信息和
获得理想的图像检索性能, K-means算法只是考虑了同一类图像的相似性, 并没有考虑不同图像的差异性, 导致其没有更好的检索效果。
鉴于上述情况,本文提出了综合颜色和形状特征的图像检索算法,利用改进的颜色聚合向量提取颜色特征,着重考虑了颜色空间的分布信息,利用Hu不变矩的改进算法提取图像的形状特征,着重考虑了图像中物体的形状信息,该算法基于贡献度聚类且建立综合特征索引库,减少对图像库的访问次数,其迭代特性保证了较低的时间杂性。

1 颜色量化
在图像检索领域,颜色空间需要压缩进而通过一种更紧凑的方式描述,即对颜色空间进行量化,在不改变主观感受的情况下减小存储量并能提高处理速度。HSV空间能较好地反映人眼对颜色的感知和鉴别能力, 非常适合基于颜色的图像相似比较。
首先将RGB颜色转换为HSV, 然后进行量化。人眼对颜色的色调(H) 非常敏感, 主要描述图像的颜色特征, 色调独立于观察点, 所以要细量化。亮度(V) 反
映了图像的形状特征, 不依赖于图像的颜色信息, 所以量化不能太粗。根据HSV颜色空间的特性作以下非均匀量化, 共获得2+12*6×2=146种颜色。
在这里插入图片描述
量化之后利用公式Q=2+12H+6S+V对颜色进行编码, 编码范围为0~145, V<0.1的颜色为黑色, 编码为0, s<0.2且v>0.9的颜色为白色, 编码为1。利用此方法对颜色量化易于计算、符合人眼视觉、减少颜色冗余、失真小, 如图1所示。
在这里插入图片描述
图1 量化前后对比
2颜色特征
Pass等[13] 提出了颜色聚合向量(Color Coherence Vector, CCV) , 弥补了颜色直方图无法表达颜色分布空间位置[14] 的缺点, 主要是基于像素的空间关系将直方图的每个颜色簇划分为聚合和非聚合两部分,如果一个连通区域的像素个数超出了阈值T,则认为该区域的像素是聚合的,否则将被判为非聚合的。整幅图像的像素个数N和阈值t的关系一般为:T=0.01N[13]。基于对颜色分布的空间信息的重视, 改进的颜色聚合向量(Improved Color Coherence Vector, ICCV) 算法考虑到聚合像素所处的连通区域以及非聚合像素所处的非连通区域,对颜色Qk作4-连通标记处理,根据阈值找到其连通域个数c(Qk)、非联通域个数n(Qk)以及聚合数目ak、非聚合数目βk,则Qk的平均聚合数目为M。(Qk)=ak/(c(Qk)N),平均非聚合数目为Mn(Qk)=Bk/(n(Qk)N),为了使其不受图像尺度变化的影响,对其作了归一化处理。如果c(Qk)=0或n(Qk)=0, 则M。(Qk) =0或Mn(Qk) =0, 图像的ICCV为:(Qk, Mc(Qk) , Mn(Qk) ) , 其中k=1, 2, …, 146, Qk=0, 1, …, 145, 所以可以用146维的向量来表示一幅图像的颜色特征。如图2所示,黑色代表量化之后编码值为Qk的像素,设阈值为3,则ak都为12,c(Qk)分别为4、1、2,βk都为4,n(Qk)分别为4、2、3,得到M。(Qk)分别为12/(4N) 、12/N、12/(2N) , Mn(Qk) 分别为4/(4N) 、4/(2N) 、4/(3N) , 所以ICCV分别为(Qk, 12/(4N) , 4/(4N) ) 、(Qk, 12/N, 4/(2N) ) 、(Qk,12/(2N),4/(3N) ) 。如果用颜色直方图表示都为(Qk, 16/N) , 用CCV表示都为(Qk, 12/N, 4/(N) ) 。但是可以看到三幅图像完全不同, 所以ICCV的表示更加准确。
在这里插入图片描述
图2 三种图像样图
3 形状特征
3.1不变矩
矩是对图像的一种统计形式, 可以从全局描述整个对象的整体特性, 矩不变量的表示形式很多, 如Legendre矩、Zernike矩、伪Zernike矩等。在图像处理中,几何不变矩可以作为一个重要的特征来表示物体,可以据此特征来对图像进行分类等操作,本文用改进的Hu不变矩方法[15]提取图像的形状特征,不变矩的主要思想是使用对变换不敏感的基于区域的几个矩作为形状特征,对于一幅图像F(x,y),F(x,y)为点(x,y)的灰度值,它的阶矩定义为:
在这里插入图片描述
如果将图像的灰度值看作是一个二维或三维的密度分布函数, 那么矩方法即可用于图像分析领域并用作图像特征的提取。最常用的, 物体的零阶矩表示了图像的“质量”:M0, 0=∫∫F (x, y) dxdy, 一阶矩 (M0, 1, M1, 0) 用于确定图像质心 (xc, yc) ;若将坐标原点移至xc和yc处, 就得到了对于图像位移不变的p+q阶中心矩up, q:
在这里插入图片描述
其中:xc=m1, 0/m0, 0, yc=m0, 1/m0, 0, F (x, y) 规格化的中心矩可以表示为ηp, q=μp, q/μ0γ, 0, 其中γ= (p+q+2) /2, p+q=2, 3, …, 将归一化的二阶矩和三阶矩组合得到7个经典的对平移、旋转和尺度变化的不变矩, 如式 (3) 所示:
在这里插入图片描述
由于图像大小会影响不变矩的特征值, 因此在提取之前应该将图像库中的图像尺寸规范化为相同尺寸。计算Hu不变矩特征量的过程如图3所示。
在这里插入图片描述
图3 图像Hu不变矩提取流程
为了提高图像检索的准确度, 文献[15]参照不变矩定义了图像的离心率特征量e, 如式 (4) 所示:
在这里插入图片描述
离心率特征e表示了图像的最大轴方向与最小轴方向的比率,同样也满足物体仿射(平移、旋转、尺度)不变性。将不变矩特征量中个~中7和离心率e合并,就形成了图像的全局形状特征(中1,中2,中3,中4,P5,中6,中7,e)。

3.2 形状特征归一化
全局形状特征矢量中各个元素的幅度值都是不一样的,由此将会使得图像的相似性匹配的结果出现误差,形状特征的归一化的目的就是对该误差进行修正。文献[16]提到了对7个不变矩的归一化处理,利用其思想,如果用(A1,A2,…,AM)来表示图像库中的M幅图像,就获得了M行8列的图像特征矩阵A=a,j,矩阵的每列相对应的是长度为M的特征序列,求得其标准差和均值分别是oj、uj,在这里,a,j表示的是第i幅图像当中的第j个形状特征元素,利用式(5)对图像的形状特征矢量进行高斯归一化处理。
在这里插入图片描述
4 图像的综合特征
已经得到了图像的颜色特征和形状特征,因为要对图像进行聚类,减少图像库的访问次数,将求得的146维的颜色聚合向量与8维的形状特征混合形成154维的综合特征(m1,m2,m3,…,m154),表示一幅图像的综合特征,为了方便计算以及说明,将这8维的形状特征分别看作第147个编码值到154个编码值的纵坐标分量,如果图像库中有M幅图像,则可用下列矩阵表示整个图像库:
在这里插入图片描述

⛄二、部分源代码

%基于颜色的图像检索主程序
clc;
clear;
num=36;%图片总数
sname=‘素材库_花’;%统一修改存储位置,修改路径时只需在此步修改
ss=‘素材库_花\5.jpg’;%待匹配图像名
f1=open_img(ss); %求待匹配图的颜色直方图
%求素材库中的图像与待匹配图像的直方图距离
distance=zeros(1,num);
for j=1:num
s1=[sname,num2str(j),‘.jpg’];
f2=open_img(s1);
d=zeros(3,4);
Q=zeros(3);
for m=1:3
for ii=1:4
d(m,ii)=(f1(ii+(m-1)*4)-f2(ii+(m-1)*4))^2;
end
Q(m)=sum(d(m,:))^0.5;
end
distance(j)=(Q(1)+Q(2)+Q(3))/3;
end
distance
distance1=distance;
sss=[];
for i=1:num
tt=max(distance1); %找到最大数
b(i)=tt; %把最小数赋给b的第i个数
[m n]=find(distance1==tt); %找到最小数位置
distance1(n)=[0]; %从a中把最小数清除
sss=[sss,n];
end
figure(1)
test=imread(ss);
subplot(2,2,1);
imshow(test);
title(‘待匹配图像’);
for i=1:3
match=[sname,num2str(sss(num-i)),‘.jpg’];
mm=imread(match);
subplot(2,2,i+1);
imshow(mm);
ttxt=sprintf(‘第%d匹配图像,欧氏距离为%f’,i,distance(sss(num-i)));
title(ttxt);
end

⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]阿卜杜如苏力·奥斯曼.综合颜色特征与形状特征的图像检索算法[J].计算机工程与应用. 2013,49(07)

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

🍅 仿真咨询
1 各类智能优化算法改进及应用

1.1 PID优化
1.2 VMD优化
1.3 配电网重构
1.4 三维装箱
1.5 微电网优化
1.6 优化布局
1.7 优化参数
1.8 优化成本
1.9 优化充电
1.10 优化调度
1.11 优化电价
1.12 优化发车
1.13 优化分配
1.14 优化覆盖
1.15 优化控制
1.16 优化库存
1.17 优化路由
1.18 优化设计
1.19 优化位置
1.20 优化吸波
1.21 优化选址
1.22 优化运行
1.23 优化指派
1.24 优化组合
1.25 车间调度
1.26 生产调度
1.27 经济调度
1.28 装配线调度
1.29 水库调度
1.30 货位优化
1.31 公交排班优化
1.32 集装箱船配载优化
1.33 水泵组合优化
1.34 医疗资源分配优化
1.35 可视域基站和无人机选址优化

2 机器学习和深度学习分类与预测
2.1 机器学习和深度学习分类
2.1.1 BiLSTM双向长短时记忆神经网络分类
2.1.2 BP神经网络分类
2.1.3 CNN卷积神经网络分类
2.1.4 DBN深度置信网络分类
2.1.5 DELM深度学习极限学习机分类
2.1.6 ELMAN递归神经网络分类
2.1.7 ELM极限学习机分类
2.1.8 GRNN广义回归神经网络分类
2.1.9 GRU门控循环单元分类
2.1.10 KELM混合核极限学习机分类
2.1.11 KNN分类
2.1.12 LSSVM最小二乘法支持向量机分类
2.1.13 LSTM长短时记忆网络分类
2.1.14 MLP全连接神经网络分类
2.1.15 PNN概率神经网络分类
2.1.16 RELM鲁棒极限学习机分类
2.1.17 RF随机森林分类
2.1.18 SCN随机配置网络模型分类
2.1.19 SVM支持向量机分类
2.1.20 XGBOOST分类

2.2 机器学习和深度学习预测
2.2.1 ANFIS自适应模糊神经网络预测
2.2.2 ANN人工神经网络预测
2.2.3 ARMA自回归滑动平均模型预测
2.2.4 BF粒子滤波预测
2.2.5 BiLSTM双向长短时记忆神经网络预测
2.2.6 BLS宽度学习神经网络预测
2.2.7 BP神经网络预测
2.2.8 CNN卷积神经网络预测
2.2.9 DBN深度置信网络预测
2.2.10 DELM深度学习极限学习机预测
2.2.11 DKELM回归预测
2.2.12 ELMAN递归神经网络预测
2.2.13 ELM极限学习机预测
2.2.14 ESN回声状态网络预测
2.2.15 FNN前馈神经网络预测
2.2.16 GMDN预测
2.2.17 GMM高斯混合模型预测
2.2.18 GRNN广义回归神经网络预测
2.2.19 GRU门控循环单元预测
2.2.20 KELM混合核极限学习机预测
2.2.21 LMS最小均方算法预测
2.2.22 LSSVM最小二乘法支持向量机预测
2.2.23 LSTM长短时记忆网络预测
2.2.24 RBF径向基函数神经网络预测
2.2.25 RELM鲁棒极限学习机预测
2.2.26 RF随机森林预测
2.2.27 RNN循环神经网络预测
2.2.28 RVM相关向量机预测
2.2.29 SVM支持向量机预测
2.2.30 TCN时间卷积神经网络预测
2.2.31 XGBoost回归预测
2.2.32 模糊预测
2.2.33 奇异谱分析方法SSA时间序列预测

2.3 机器学习和深度学习实际应用预测
CPI指数预测、PM2.5浓度预测、SOC预测、财务预警预测、产量预测、车位预测、虫情预测、带钢厚度预测、电池健康状态预测、电力负荷预测、房价预测、腐蚀率预测、故障诊断预测、光伏功率预测、轨迹预测、航空发动机寿命预测、汇率预测、混凝土强度预测、加热炉炉温预测、价格预测、交通流预测、居民消费指数预测、空气质量预测、粮食温度预测、气温预测、清水值预测、失业率预测、用电量预测、运输量预测、制造业采购经理指数预测

3 图像处理方面
3.1 图像边缘检测
3.2 图像处理
3.3 图像分割
3.4 图像分类
3.5 图像跟踪
3.6 图像加密解密
3.7 图像检索
3.8 图像配准
3.9 图像拼接
3.10 图像评价
3.11 图像去噪
3.12 图像融合
3.13 图像识别
3.13.1 表盘识别
3.13.2 车道线识别
3.13.3 车辆计数
3.13.4 车辆识别
3.13.5 车牌识别
3.13.6 车位识别
3.13.7 尺寸检测
3.13.8 答题卡识别
3.13.9 电器识别
3.13.10 跌倒检测
3.13.11 动物识别
3.13.12 二维码识别
3.13.13 发票识别
3.13.14 服装识别
3.13.15 汉字识别
3.13.16 红绿灯识别
3.13.17 虹膜识别
3.13.18 火灾检测
3.13.19 疾病分类
3.13.20 交通标志识别
3.13.21 卡号识别
3.13.22 口罩识别
3.13.23 裂缝识别
3.13.24 目标跟踪
3.13.25 疲劳检测
3.13.26 旗帜识别
3.13.27 青草识别
3.13.28 人脸识别
3.13.29 人民币识别
3.13.30 身份证识别
3.13.31 手势识别
3.13.32 数字字母识别
3.13.33 手掌识别
3.13.34 树叶识别
3.13.35 水果识别
3.13.36 条形码识别
3.13.37 温度检测
3.13.38 瑕疵检测
3.13.39 芯片检测
3.13.40 行为识别
3.13.41 验证码识别
3.13.42 药材识别
3.13.43 硬币识别
3.13.44 邮政编码识别
3.13.45 纸牌识别
3.13.46 指纹识别

3.14 图像修复
3.15 图像压缩
3.16 图像隐写
3.17 图像增强
3.18 图像重建

4 路径规划方面
4.1 旅行商问题(TSP)
4.1.1 单旅行商问题(TSP)
4.1.2 多旅行商问题(MTSP)
4.2 车辆路径问题(VRP)
4.2.1 车辆路径问题(VRP)
4.2.2 带容量的车辆路径问题(CVRP)
4.2.3 带容量+时间窗+距离车辆路径问题(DCTWVRP)
4.2.4 带容量+距离车辆路径问题(DCVRP)
4.2.5 带距离的车辆路径问题(DVRP)
4.2.6 带充电站+时间窗车辆路径问题(ETWVRP)
4.2.3 带多种容量的车辆路径问题(MCVRP)
4.2.4 带距离的多车辆路径问题(MDVRP)
4.2.5 同时取送货的车辆路径问题(SDVRP)
4.2.6 带时间窗+容量的车辆路径问题(TWCVRP)
4.2.6 带时间窗的车辆路径问题(TWVRP)
4.3 多式联运运输问题

4.4 机器人路径规划
4.4.1 避障路径规划
4.4.2 迷宫路径规划
4.4.3 栅格地图路径规划

4.5 配送路径规划
4.5.1 冷链配送路径规划
4.5.2 外卖配送路径规划
4.5.3 口罩配送路径规划
4.5.4 药品配送路径规划
4.5.5 含充电站配送路径规划
4.5.6 连锁超市配送路径规划
4.5.7 车辆协同无人机配送路径规划

4.6 无人机路径规划
4.6.1 飞行器仿真
4.6.2 无人机飞行作业
4.6.3 无人机轨迹跟踪
4.6.4 无人机集群仿真
4.6.5 无人机三维路径规划
4.6.6 无人机编队
4.6.7 无人机协同任务
4.6.8 无人机任务分配

5 语音处理
5.1 语音情感识别
5.2 声源定位
5.3 特征提取
5.4 语音编码
5.5 语音处理
5.6 语音分离
5.7 语音分析
5.8 语音合成
5.9 语音加密
5.10 语音去噪
5.11 语音识别
5.12 语音压缩
5.13 语音隐藏

6 元胞自动机方面
6.1 元胞自动机病毒仿真
6.2 元胞自动机城市规划
6.3 元胞自动机交通流
6.4 元胞自动机气体
6.5 元胞自动机人员疏散
6.6 元胞自动机森林火灾
6.7 元胞自动机生命游戏

7 信号处理方面
7.1 故障信号诊断分析
7.1.1 齿轮损伤识别
7.1.2 异步电机转子断条故障诊断
7.1.3 滚动体内外圈故障诊断分析
7.1.4 电机故障诊断分析
7.1.5 轴承故障诊断分析
7.1.6 齿轮箱故障诊断分析
7.1.7 三相逆变器故障诊断分析
7.1.8 柴油机故障诊断

7.2 雷达通信
7.2.1 FMCW仿真
7.2.2 GPS抗干扰
7.2.3 雷达LFM
7.2.4 雷达MIMO
7.2.5 雷达测角
7.2.6 雷达成像
7.2.7 雷达定位
7.2.8 雷达回波
7.2.9 雷达检测
7.2.10 雷达数字信号处理
7.2.11 雷达通信
7.2.12 雷达相控阵
7.2.13 雷达信号分析
7.2.14 雷达预警
7.2.15 雷达脉冲压缩
7.2.16 天线方向图
7.2.17 雷达杂波仿真

7.3 生物电信号
7.3.1 肌电信号EMG
7.3.2 脑电信号EEG
7.3.3 心电信号ECG
7.3.4 心脏仿真

7.4 通信系统
7.4.1 DOA估计
7.4.2 LEACH协议
7.4.3 编码译码
7.4.4 变分模态分解
7.4.5 超宽带仿真
7.4.6 多径衰落仿真
7.4.7 蜂窝网络
7.4.8 管道泄漏
7.4.9 经验模态分解
7.4.10 滤波器设计
7.4.11 模拟信号传输
7.4.12 模拟信号调制
7.4.13 数字基带信号
7.4.14 数字信道
7.4.15 数字信号处理
7.4.16 数字信号传输
7.4.17 数字信号去噪
7.4.18 水声通信
7.4.19 通信仿真
7.4.20 无线传输
7.4.21 误码率仿真
7.4.22 现代通信
7.4.23 信道估计
7.4.24 信号检测
7.4.25 信号融合
7.4.26 信号识别
7.4.27 压缩感知
7.4.28 噪声仿真
7.4.29 噪声干扰

7.5 无人机通信

7.6 无线传感器定位及布局方面
7.6.1 WSN定位
7.6.2 高度预估
7.6.3 滤波跟踪
7.6.4 目标定位
7.6.4.1 Dv-Hop定位
7.6.4.2 RSSI定位
7.6.4.3 智能算法优化定位
7.6.5 组合导航

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

  • 16
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值