基于HOG特征的图像梯度定向直方图计算器
项目介绍
本项目实现基于HOG(Histogram of Oriented Gradients)算法的图像梯度特征提取。系统采用滑动窗口方式从图像左上角至右下角逐块扫描,为每个单元格计算梯度方向直方图,并按块结构存储所有直方图数据,最终输出完整的HOG特征向量。
功能特性
- 梯度计算:采用Sobel或Prewitt算子计算图像的水平和垂直梯度
- 方向分箱统计:将梯度方向量化为指定数量的方向区间(默认为9个方向)
- 块级归一化:对每个块内的单元格直方图进行归一化处理,增强特征鲁棒性
- 可视化输出:生成梯度方向分布热力图,直观展示特征分布
- 结构化存储:按扫描顺序存储三维直方图矩阵(块数×单元格数×方向数)
使用方法
- 准备输入图像(灰度图像矩阵,uint8类型,尺寸为M×N)
- 设置参数:单元格尺寸(默认8×8像素)、块尺寸(默认2×2单元格)、方向分箱数(默认9个方向)
- 运行主程序,系统将自动完成以下处理流程:
- 图像梯度计算
- 滑动窗口扫描
- 单元格级直方图统计
- 块级特征归一化
- 特征向量整合输出
- 获取输出结果:
- HOG特征向量(一维数组)
- 可视化热力图
- 结构化直方图矩阵
系统要求
- MATLAB R2018a或更高版本
- Image Processing Toolbox
- 支持灰度图像处理的基本函数库
文件说明
主程序文件实现了完整的HOG特征提取流程,包含图像梯度计算、方向直方图统计、块特征归一化等核心功能。该文件负责参数初始化、处理流程控制、结果可视化输出以及最终特征向量的生成与存储,确保算法各模块的协调运作和数据传递。