手写数字识别(二)

手写数字识别(二)

A4纸教程以及内容分离

1. 确定角点顺序

我采用的方法是直接上了一个凸包算法:通过极角排序然后做凸包把四个角点按照顺序压如栈中,确保了几个角点按照顺时针的方向排列,并且确定最接近 [0,0] 点的为纸张左上角的顶点。由于纸张为四边形,确保是一个凸包。

2. 实现A4纸矫正

首先定义对于图像的区域划分
这里写图片描述
其中 0~3 的区域为需要的A4纸边缘,尺度为图像中尽量大地放下的A4纸尺寸,其他为图像的纸外的背景。采用 morphe 变换对图像进行映射,简单来说就是遍历图像每一个像素,确定像素对应的区域,然后通过计算找出对应原图像中对应区域三角形中的对应点的位置,实现变换。还有一种方法是通过透视变换实现A4纸的矫正。
矫正结果:
这里写图片描述

3. 图像内容分离

最简单的就是通过阈值进行二值分类,设定一个阈值,小的划分为黑色,大的划分为白色。
但是显然这种方法鲁棒性很差,因为不同图像对应的阈值不同,也不能每一张图像都进行调参。
我采用的是通过 Canny 进行划分,由于预先封装好函数,直接调用也很简单。Canny 对于手写能够很好地划分,而且由于大多数阴影是渐变的,可以很好地排除。通过 Canny 的边缘进行膨胀,再利用前面纸张去除噪音的方法,通过bfs把边缘外的地方变成白色。对于边缘内部的地方,再通过阈值进行划分,使得图像内容能够很好地分离,不容易被阴影所影响。
效果:
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值