基于LabVIEW的图片数字识别(特征点)

怎么去识别图片上的一个数字?
基于LabVIEW的图片数字识别(特征点)

1)

何去?

神经网络、模板匹配、特征点识别,目前是最为主流的方法。
2)

何从?

基于LabVIEW的获取图片特征点,从而实现数字识别是一种简单的方法。下图为引用某位大佬的图片,可清晰观察一些特点。
基于LabVIEW的图片数字识别(特征点)基于LabVIEW的图片数字识别(特征点)
观察图可知,每个图片在可分X1、X2、Y,上都与图片有若干个交点,比如数字7,X1方向有1交点,X2方向有1交点、Y上有2个交点。所以同样方法可知其他数字的特征点:
基于LabVIEW的图片数字识别(特征点)
其中2、3、5的特征数字一摸一样。所以多几组去判断,判断宇XI、X2的交点在左边还是右边,在左边为0,在右边为1,所以对应数字特征为:
2:(1,0)
3:(1,1)
5:(0,1)
到此,可以完全判断出根据特征点判断出数字。
3)

缘起

那么如何使用LabVIEW来识别呢?
首先咱们来看图片是怎么组成。
基于LabVIEW的图片数字识别(特征点)
基于LabVIEW的图片数字识别(特征点)
这是一个格式为png的16*16的数字2的图片,可以隐约看到,中间红色部分为2。
所以,怎么去识别它呢:将图片二值化,大于7F7F7F的值为ffffff,小于的0,为下图:
基于LabVIEW的图片数字识别(特征点)
对应的程序框图为:
基于LabVIEW的图片数字识别(特征点)

然后,我们找到有用边界范围,只选择数值的有用范围,程序框图如下:
基于LabVIEW的图片数字识别(特征点)
基于LabVIEW的图片数字识别(特征点)然后判断,x1、x2、y对应的特征点是多少数为多少,程序框图如下:
基于LabVIEW的图片数字识别(特征点)

在前面板我们得到,数字2的特征点分别为:
基于LabVIEW的图片数字识别(特征点)
即为:(3,1,1,1,0)
带入我们写好的查找表:
基于LabVIEW的图片数字识别(特征点)
数字就在最终结果里出现了。