字母细化后怎么跟保存的版本(已细化)比较,注意细化后是不可能完全一致的。
ljooo 2008-08-19 05:29:10 我在做数字字母识别,字母的角度大小(12-50个像素)都不一样。 一开始以为图片是用照相机拍的,后来才知道是用摄像头拍的,成像效果太差了,比较产生的误差非常大。
如果一个点跟模板的点完全一样,那没有问题。但字母不可能完全一样,实际细化后也较大的差别。
我现在的做法是
一个点一个点比较,简单考虑周围9个点
if 要比较的点跟模板对应的点一样,误差为0,
else if 要比较的点跟模板的上下左右四个点中至少有一个一样,误差为1,
else if 要比较的点跟模板的左上 左下 右上 右下 四个点至少有一个一样,误差为2,
else 误差为4
但是效果不是很好,比如0和Q,4和A,5和6等差别很少,有时会误识别。
问题1,要怎么比较才能有更好的效果呢?详细一点。
细化算法我用的是数字图像编程基础里的ThiningDIB,效果一般。我试过另外四种,ThinnerHilditch,ThinnerPavlidis,ThinnerRosenfeld,ThiningDIBSkeleton,效果极差。
问题2,请问有更好的细化算法吗?
还有位置的问题,由于可能有毛刺,位置很难一致,我试过用外接矩形法和质心发计算位置,效果都一般,请问有更好的方法吗?