基于颜色直方图的简易图像检索系统 (CBIR)
项目介绍
本系统是一个基于内容图像检索(CBIR)技术的经典实现方案。系统核心利用图像的颜色直方图特征来描述视觉内容。由于颜色分布能跨越图像的几何形变(如旋转、平移和缩放)保持较强的鲁棒性,该方案通过提取图像在HSV空间下的量化颜色特征,建立高效的特征索引。系统旨在通过计算待查询图像与数据库图像之间的统计距离,实现快速的视觉相似性检索,展示最符合用户需求的图像序列。
功能特性
- 智能色彩空间转换:系统将图像从物理色彩空间(RGB)转换至符合人类感知心理的色彩空间(HSV),增强了检索结果与人类视觉直观感受的一致性。
- 特征量化与降维:通过对色调、饱和度和亮度进行分级量化,将复杂的图像信息浓缩为固定维度的特征向量,显著提升了计算效率。
- 动态特征提取:系统能够实时扫描指定文件夹下的多种格式图像(JPG, PNG, BMP, JPEG),并自动提取其归一化颜色特征。
- 相似度量化平衡:采用欧氏距离作为核心衡量标准,并将原始距离转换为直观的相似度分值,便于用户理解匹配程度。
- 交互式结果展示:系统提供完整的可视化界面,自动排列查询图与检索结果,并实时标注每张图片的相似得分与文件名称。
使用方法
- 启动系统后,程序会弹出文件选择对话框,请选择一张用于查询的目标图片。
- 随后系统会提示选择图像数据库文件夹,请选择包含大量待检索图片的目录。
- 系统将自动开始处理数据库,命令行窗口会实时显示特征提取的进度。
- 检索完成后,系统会自动弹出结果窗口,展示查询图及与其最相似的前9张图片。
- 结果窗口下方会标注每张图片的相似度(0到1之间,越接近1表示越相似)和文件名。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 必备工具箱:Image Processing Toolbox(图像处理工具箱)。
- 数据库要求:目标文件夹内应包含常见格式的图像文件,且建议图片质量均匀以获得更佳检索效果。
核心逻辑与实现细节
- 特征参数设置:
系统将颜色空间划分为 72 个特征区间(Bin)。具体量化权重为:色调(H)分为 8 级,饱和度(S)分为 3 级,亮度(V)分为 3 级。这种配比侧重于色调特征,因为色调通常包含图像最主要的视觉信息。
- 图像预处理流水线:
为了确保特征的可比性,系统在提取特征前会将所有输入图像统一调整为 256x256 像素。这不仅加快了处理速度,也消除了图像尺寸对直方图统计结果的直接影响。
- 特征向量构造算法:
在映射到 HSV 空间后,系统对每个分量执行线性量化。通过组合公式 H * (S_bins * V_bins) + S * V_bins + V 将三维颜色分量映射为一维索引值,随后使用直方图统计函数计算分布概率。最后,系统执行直方图归一化处理(除以总像素数),使特征向量具有尺寸无关性。
- 相似性评价指标:
系统通过计算查询图像特征向量与数据库特征向量之间的欧氏距离来衡量差异。为了便于展示,系统引入了分值转换机制:分值 = 1 - (当前距离 / 数据库最大距离)。若库中存在完全一致的图片,其距离为0,相似度分值为1.0000。
- 结果可视化逻辑:
系统采用 3x4 的网格布局。首位(第一行第一列)固定展示用户的查询原图,其余位置按相似度从高到低依次填充数据库中的匹配图像。系统能自动跳过显示布局中的空隙,确保检索结果在前 9 名内清晰呈现。
- 鲁棒性设计:
系统内置了文件过滤机制,支持多种主流图像扩展名,并能处理空文件夹或无效输入等异常情况。通过简单的数字转换和路径链接逻辑,确保了大规模文件处理时系统的稳定性。