OCR-Python-Opencv一种基于坐标投影的图片旋转矫正方法

由于最近公司业务需要使用OCR功能,所以我不得不研究Opencv这个图像库,进行OCR功能前期的图像处理工作,二值化、灰度化什么的都非常简单这里就不过多讲述,下面记录我自己受到启发自己实现的一种基于坐标投影的图片矫正算法,其实思路非常简单,大神勿喷,再次做一个小分享也算是我自己对该方面知识的一个总结和整理。

ps:该算法适合旋转角度不大,在-35~35度的旋转角矫正,具备一定抗干扰能力(当然也不是万能的,这个算法可以当做其它矫正算法的补充)

首先来看一下效果

左边是原图,右边是矫正后的图

这张图我为了验证其抗干扰能力,我刻意加了一下乱七八糟的东西干扰,效果看起来视乎还是不错的

这张视乎还有一点点倾斜,看起来视乎还不是很正,不过相对于原来的字来说已经正很多了。

 

原理

其实这个原理非常简单,就是把一张图经过“灰度化”“二值化”“自动阈值”后的图像从-35°到35度进行旋转遍历,每张旋转后的图像投影到x或者y坐标上(我这里是使用了投影到y坐标上),然后统计其在该坐标上的非0像素行数,非零像素行数最少的旋转角度就是该图片需要旋转的角度。下面是一张灰常直

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值