基于MATLAB颜色特征提取的图像检索系统
项目介绍
本项目实现了一套基于颜色特征的图像检索流程,旨在通过提取图像的色彩分布信息实现高效的相似图搜索。系统通过模拟真实的图像搜索逻辑,将输入的查询图像与底层数据库进行对比,返回视觉上最接近的结果。该系统不仅包含了核心的特征提取算法,还集成了自动化图像预处理、特征量化以及结果可视化展示,为计算机视觉中的内容检索(CBIR)提供了完整的参考实现。
功能特性
- 自动环境准备:程序能自动初始化运行环境,并针对初次运行自动生成演示用的示例图像数据库。
- 标准化图像处理:支持对输入图像进行尺寸统一化与降噪平滑处理,确保特征提取的稳定性。
- 视觉感知驱动:将图像从RGB色彩空间转换至更符合人类视觉习惯的HSV空间进行分析。
- 综合降维策略:采用非均匀量化技术对色调、饱和度及明亮度进行压缩,生成紧凑的72维特征向量。
- 实时相似度检索:基于数学度量计算图像间的欧氏距离,实现快速排序与匹配。
- 直观结果展示:通过图形界面同步展示查询源图、其对应的特征直方图分布以及排序后的最优匹配候选。
使用方法
- 启动系统:在MATLAB开发环境中直接运行主程序脚本。
- 自动化初始化:系统会自动检测是否存在名为 image_database 的文件夹。若不存在,将自动生成一组包含红、绿、蓝、黄、橙、紫、青、粉等不同色调的样本图像进行演示。
- 图像处理与检索:系统将自动选取库中的第一张图像作为查询源,提取其颜色直方图特征,并将其与库中所有图像进行逐一比对。
- 查看结果:检索完成后,系统会弹出可视化窗口,展示检索耗时、查询图像的直方图特征分布图,以及与查询图最相似的前6张匹配图像,并在标题处标注具体的距离数值(Distance)。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 必备工具箱:Image Processing Toolbox (图像处理工具箱)。
- 硬件要求:标准PC配置,无需专用显卡,内存建议4GB以上。
实现逻辑与算法细节
#### 1. 图像预处理逻辑
为了消除原始图像大小不一对特征统计的影响,系统对每一张待处理图像执行以下操作:
- 尺寸归一化:将所有图像强制调整为 256x256 像素。
- 平滑去噪:应用 3x3 模板、标准差为 0.5 的高斯滤波器对图像进行模糊处理。这一步骤能够过滤掉由于电子噪声或纹理细节带来的颜色统计干扰。
#### 2. HSV颜色空间转换与非均匀量化
系统将图像从RGB映射到HSV(Hue, Saturation, Value)空间,并执行精细化的量化算法:
- H(色调)分量:将 0-360 度的范围映射为 8 个区间。区间划分参照人类对主色彩的认知,例如红色跨越了 316-20 度的范围,绿色对应 76-155 度等。
- S(饱和度)分量:量化为 3 个区间,分别为低饱和(0-0.2)、中饱和(0.2-0.7)和高饱和(0.7-1.0)。
- V(明亮度)分量:同样量化为 3 个区间,界限分为暗(0-0.2)、中(0.2-0.7)和亮(0.7-1.0)。
- 特征融合:利用公式 $L = 9 times H_q + 3 times S_q + V_q$ 将三个分量合并为一个跨度在 0 到 71 之间的单一索引值 $L$。
#### 3. 直方图特征向量生成
- 统计分布:统计整幅图像中各合并索引值 $L$ 出现的频率,生成一个 72 维的原始计数向量。
- 归一化处理:将各分箱的计数值除以像素总数,得到归一化颜色直方图。这一步骤消除了图像分辨率不同带来的权重差异,使特征具备平移和旋转不变性。
#### 4. 相似度度量与排序
- 距离计算:采用欧氏距离(Euclidean Distance)算法,计算查询图像特征向量与数据库索引向量之间的几何距离。
- 排序定位:对得到的距离数组进行升序排列。距离值越小,代表两张图像在 HSV 空间的色彩构成越接近。
#### 5. 结果可视化输出
- 布局展示:使用多子图布局(subplot)清晰呈现检索成果。
- 特征展示:系统会绘制出查询图像的 72 维特征直方图。
- 匹配排序:根据计算出的距离,在界面下半部分依次排列 Top 1 至 Top 6 的搜索结果,方便用户直观对比检索精度。