计算机视觉与深度学习实战:以MATLAB、Python为工具
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

8.3 程序实现

8.3.1 图像处理

该步骤主要是对输入的图像进行灰度化、归一化、滤波、二值化。鉴于数字的识别与色彩无关,以及噪声的影响(这里采用中值滤波进行去噪),将图像进行预处理,最终可得到二值化图像。核心代码如下:

运行以上代码,得到的结果图像如图8-2所示。

图8-2 图像预处理

8.3.2 特征提取

该步骤主要是对预处理得到的二值化图像进行图像细化操作,并按照算法的要求提取交点、端点特征,组成特征向量:

假设选择手写数字图像“0”,经过图像预处理、二值化、细化等步骤,在计算其各特征线及端点特征后,得到的结果图像如图8-3所示。

图8-3 图像特征提取

8.3.3 模式识别

该步骤主要是对载入的模板矩阵及输入图像计算出的特征向量通过欧式距离进行相似度排序,进而得到识别结果。

(1)载入模式库:

(2)匹配识别:

对应之前所选择的手写数字图像“0”,运行以上代码进行模式识别,将弹出提示框显示数字结果,如图8-4所示。

图8-4 图像识别结果