基于OpenCV的基本图形识别
【摘要】
本文介绍了一个基于 OpenCV 的基本图形识别程序。实现过程包括利用 matlab 生成大量随机样本用以训练神经网络,通过边缘检测、傅里叶算子提取基本图形的特征向量,神经网络增量学习的简单实现,利用 QT 实现简单的 GUI 界面。
关键词:图像处理;OpenCV;matlab;QT;神经网络;图像识别;机器学习
目录
1 形状特征描述
1.1 傅里叶算子
1.2 边缘检测
2 神经网络
2.1 样本准备
2.2 神经网络训练
2.3 增量学习
3 GUI实现
3.1 HighGUI下的轮廓叠加与高亮
3.2 QT下的功能布局
4 总结
参 考 文 献
1 形状特征描述
为了对图像中的基本形状进行识别,必须对形状进行描述,提取出形状的某些特征。为了能区分不同形状的物体,保证识别的正确性,我们希望这些特征相对不同的形状有较大的差异,而对同一物体,对其在图像的不同位置、大小和方向的变化保持不变。即该特征描述具有平移、旋转、尺度变换不变性。形状特征描述是图像识别的关键,特征提取的好坏直接决定了目标识别的效果[1]。程序使用傅里叶描述子对形状的轮廓进行描述,介绍傅里叶描述子后,再介绍必要的预处理操作。