基于Hu不变矩的图像与视频特征提取及识别系统
项目介绍
本项目展示了一个完整的计算机视觉识别流程,旨在利用经典的Hu不变矩理论实现对特定几何形状的自动识别与跟踪。系统能够处理静态图像中的目标物体,并具模拟实时视频流中的动态识别能力。通过对图像进行深度预处理提取形状轮廓,并计算其对平移、旋转及缩放具有不变性的Hu矩特征,最终通过欧氏距离匹配实现目标分类。
功能特性
- 鲁棒特征提取:利用七个Hu不变矩作为核心特征,确保系统对物体的旋转(如测试图旋转35度)、缩放和位置变化具有极强的适应性。
- 完整预处理链:集成了灰度化、高斯去噪、大津法自适应二值化、孔洞填充、噪点去除、Canny边缘检测及形态学膨胀等多种图像处理技术。
- 动态目标监控:支持模拟视频流处理,能够自动识别每一帧中的运动物体,并利用连通域分析定位目标区域(ROI)。
- 实时匹配与标注:系统动态计算特征向量与预设模板(圆形、矩形、三角形)的相似度,并在图像界面上实时叠加标注框和识别结果。
- 结果可视化:提供静态识别报告和动态监控窗口,包含相似度得分、特征向量分布及匹配类别。
使用方法
- 环境准备:确保安装了MATLAB环境以及图像处理工具箱(Image Processing Toolbox)。
- 启动系统:在MATLAB命令行窗口运行主程序函数。
- 交互流程:
- 系统首先会自动生成基础形状模板库。
- 接着会自动生成一张带有旋转干扰和随机高斯噪声的测试图进行静态识别展示。
- 随后会自动开启一个名为“实时视频流识别监控”的窗口,演示在50帧动态序列中对移动物体的持续跟踪与分类。
- 查看输出:观察命令行输出的Hu矩特征向量和匹配相似度报告,同时查看弹出的可视化图像结果。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 必备工具箱:Image Processing Toolbox(用于执行边缘检测、形态学操作和连通域分析)。
- 硬件环境:普通个人电脑即可流畅运行模拟演示。
核心功能实现逻辑分析
#### 1. 自动化模版库构建
系统通过算法内建了一套几何图形生成机制。通过逻辑矩阵操作生成纯净的圆形、矩形和三角形二值化图像。随后,特征提取模块会对这些标准模版进行特征扫描,计算出每种形状独有的七维Hu矩特征向量,作为后续识别的基准对比库。
#### 2. 精密图像预处理流水线
为了从带有噪声和复杂背景的原始图中提取纯净形状,系统执行了以下步骤:
- 降噪:利用5x5的高斯滤波器对图像进行平滑处理,消除孤立噪声点。
- 二值化:采用大津法(Otsu's Method)自动计算最佳阈值,将图像转化为黑白二值图。
- 净化:通过面积过滤(bwareaopen)移除小于50像素的细小杂点,并填充内部孔洞。
- 强化特征:使用Canny算子提取边缘,通过盘型结构元素(strel 'disk')进行膨胀处理使边缘闭合,最后再次填充以获得坚实的形状主体。
#### 3. Hu不变矩算法实现
这是系统的核心数学模型。程序通过以下层级计算特征:
- 空间矩(m_pq):计算物体的面积及质心坐标。
- 中心矩(mu_pq):偏移坐标系至质心,实现平移不变性。
- 归一化中心矩(eta_pq):通过阶数相关的面积归一化,实现尺度不变性。
- 七个矩公式:组合不同阶数的中心矩,推导出对旋转具有不变性的七个标量。
- 数值压缩:由于Hu矩的数值跨度巨大,系统对结果进行了对数变换(log10),将特征值映射到更易于比较的动态范围内。
#### 4. 模式匹配决策机制
识别阶段采用模版匹配策略。系统计算测试目标特征向量与模板库中各向量之间的欧氏距离。距离最小的模版即被判定为识别结果。系统还引入了得分转换逻辑,将距离通过1/(1+dist)公式映射为匹配度分值,方便用户直观判断识别精度。
#### 5. 视频流动态分析
在视频模拟模式下,系统执行逐帧分析:
- 连通域提取:利用regionprops函数分析每一帧中面积超过500像素的区域。
- 局部ROI提取:根据包围框(BoundingBox)动态裁切目标区域,避免全图计算的性能损耗。
- 持续更新:在每一帧图像上即时绘制绿色追踪框,并在上方显示分类标签,展示了系统在处理工业流水线分类或简单安防监控场景下的应用潜力。