大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说手写数字识别系统之倾斜矫正[亲测有效],希望您对编程的造诣更进一步.
简介
倾斜校正主要有两种,一种是整体倾斜校正,另一种是局部倾斜校正。
由于本文主要研究具有不规则分布的多数字识别,因此只需要关注经过提取后的数字校正问题,也就是图像的局部校正。
矫正算法
目前的校正算法有很多,比如说:
对于整体倾斜校正可以采用统计图像左右两边的平均像素高度,通过计算整体倾斜度来进行校正。
这种方法对于像素较多的图像的处理效果明显,而且实现简单快速,但是对于那些已经经过提取得单一数字图像并不适用,因为此时的图像一般较小,且笔画较细,由于所需信息太少统计后的结果并不正确。
其实校正的核心就是使图像的倾斜度的接近为0,因此可以把它看作是一个最优化问题:
即寻找需要调整多少角度,才能使图像的倾斜度最小,可见倾斜度决定了最终图像的好坏,考虑的数字的特征,都是具有狭长的特点,我们可以考虑将图像的高宽比最为图像倾斜度的依据。
而到底需要调整多少才合适呢,本文所采用的方法,并不估算图像的倾斜度,而是通过二分搜索
的思想,在倾斜45度的范围内进行二分查找,寻找最佳调整点,使其结果近似最优,其具体步骤如下:
1. 设置最大调整角度,一般倾斜度不会超过45度,如果超过调整也就没有意义了。
2. 计算图像高宽比,也就是倾斜度,如果倾斜度比上次的有所减小,则调整角度减半,继续搜索,如果倾斜度趋于稳定,则退出查找,并使用此时的调整角度进行调整。
3. 对于实际的调整过程,一般会选择进行旋转变换操作,比较简单,但是考虑到实际人们书写数字时的倾斜往往并不是旋转造成的,而是可能姿势不正而引起的侧斜,因此仅仅通过旋转并不能达到较好的效果,因此可以通过水平侧向校正来实现,即保持像素点的高度不变,仅仅通过调整水平位置,进行适当的调整。
实验结果
总结
可见,对于大多数数字图像的校正结果还是令人相当满意的,但还是会有些许不足:
由于侧向拉伸会导致图像的变形,因此对于较为细长的图像的处理效果较差,可能会出现断层这些破坏连通性的情况。
为了解决此类问题,可以在校正前先进行适当的膨胀运算操作,这样效果会好些。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/13079.html