• 手写数字识别系统之倾斜矫正


    简介

    倾斜校正主要有两种,一种是整体倾斜校正,另一种是局部倾斜校正。

    由于本文主要研究具有不规则分布的多数字识别,因此只需要关注经过提取后的数字校正问题,也就是图像的局部校正。

    矫正算法

    目前的校正算法有很多,比如说:

    对于整体倾斜校正可以采用统计图像左右两边的平均像素高度,通过计算整体倾斜度来进行校正。

    这种方法对于像素较多的图像的处理效果明显,而且实现简单快速,但是对于那些已经经过提取得单一数字图像并不适用,因为此时的图像一般较小,且笔画较细,由于所需信息太少统计后的结果并不正确。

    其实校正的核心就是使图像的倾斜度的接近为0,因此可以把它看作是一个最优化问题:

    即寻找需要调整多少角度,才能使图像的倾斜度最小,可见倾斜度决定了最终图像的好坏,考虑的数字的特征,都是具有狭长的特点,我们可以考虑将图像的高宽比最为图像倾斜度的依据。

    而到底需要调整多少才合适呢,本文所采用的方法,并不估算图像的倾斜度,而是通过二分搜索的思想,在倾斜45度的范围内进行二分查找,寻找最佳调整点,使其结果近似最优,其具体步骤如下:

    1. 设置最大调整角度,一般倾斜度不会超过45度,如果超过调整也就没有意义了。
    2. 计算图像高宽比,也就是倾斜度,如果倾斜度比上次的有所减小,则调整角度减半,继续搜索,如果倾斜度趋于稳定,则退出查找,并使用此时的调整角度进行调整。
    3. 对于实际的调整过程,一般会选择进行旋转变换操作,比较简单,但是考虑到实际人们书写数字时的倾斜往往并不是旋转造成的,而是可能姿势不正而引起的侧斜,因此仅仅通过旋转并不能达到较好的效果,因此可以通过水平侧向校正来实现,即保持像素点的高度不变,仅仅通过调整水平位置,进行适当的调整。

    实验结果

    correct_slope

    总结

    可见,对于大多数数字图像的校正结果还是令人相当满意的,但还是会有些许不足:

    由于侧向拉伸会导致图像的变形,因此对于较为细长的图像的处理效果较差,可能会出现断层这些破坏连通性的情况。

    为了解决此类问题,可以在校正前先进行适当的膨胀运算操作,这样效果会好些。


    个人主页:TBOOX开源项目
    原文出处:http://tboox.org/cn/2016/08/01/hnr-correct-slope/

  • 相关阅读:
    France '98
    【笔记】《通俗详细地讲解什么是P和NP问题》的概念记录
    130831组队赛-Regionals 2011, Asia
    Android 解屏幕锁与点亮屏幕
    Android 点亮屏幕
    利用FFT 计算生成离散解析信号
    hdu5246 超级赛亚ACMer
    用srvctl命令配置service
    MySQL优化之——权限管理
    JS 点击复制Copy插件--Zero Clipboard
  • 原文地址:https://www.cnblogs.com/tboox/p/12014660.html
Copyright © 2020-2023  润新知