工作中常常会用到扫描全能王这个工具,对于少量的文档电子化管理实在是太方便,并且对于商务人士来说文件的管理、打印、移动办公都是非常有用。

因为对图像处理有一定的了解和实际操作,所以在想扫描王的一些扫描功能是否可以自己实现,参考网上部分资料后搭建了一个 简单的文档扫描系统。

扫描王实现流程:

1 文档定位

文档定位和本人前面一个车牌识别的定位功能大同小异,对于文件扫描一般我们会手动调整一个比较好的位置,所以背景相对来说不会特别复杂。
主要步骤如下:
1、 图片尺寸变换,将图片缩小到一定的尺寸,方便界面显示;
2、将灰度化的图片进行滤波处理,我这里采用的是中值滤波;
3、直接将图片进行二值化处理;
4、图像闭运算;
5、Candy边缘检测;
6、查找轮廓;
7、根据轮廓的大小排序;
8、判断轮廓是否是矩形、轮廓的面积大小、轮廓的周长来定位文档。

2 仿射变换进行文档校正

计算查找到的轮廓四个边的长度,选取长、宽中最大值作为校正的长宽;然后计算旋转矩阵;通过旋转矩阵将图像进行校正变换。

3 图像增强处理

扫描全能王中的扫描功能不是将图片直接进行二值化处理,而是对色彩进行增强和锐化,这样背景中的白、浅黄、灰色等会变成白色,红色、蓝色等文档本身的色彩可以一定程度的保留,在身份证扫描、合同扫描的时候非常有必要。
参考图片增强方式:
python实现图像增强
PIL模块中的ImageEnhance
常用的图像增强方式
在此经过试验采用增强代码如下:

out = 1.5 * input_image       #原图像*1.5
# 进行数据截断,大于255的值截断为255
out[out > 255] = 255
# 数据类型转换
out = np.around(out)
out = out.astype(np.uint8)

4 将原图和增强图片进行显示对比

可以将原图、增强后图片、灰度图、二值化图片显示在一个界面,进行效果对比。

总结:本人搭建的扫描文档功能比较简单,主要是针对图像增强这一块的处理不是简单的二值化,但是在实际测试的过程中发现APP的识别、裁剪、定位、增强等效果都好很多,并且具有较强的泛化性能。
我实现的功能主要有以下几个问题:
1、文档自动定位功能受背景影响比较大,如果是白底白色文档的情况难以自动找到文档的轮廓;
2、背景色比较杂乱的时候简单的形态学处理比较难以区分边界,导致无法定位;
3、图片增强功能的效果鲁棒性还很欠缺,对于只有黑白文字的文档来说增强效果较好,但是对于证件照有反光和颜色深浅不一的情况容易出现过度增强,导致失真。
4、简单的二值化图像会导致文件中黑色背景过多,将原文件内容覆盖。
因此后续还需要对图像处理的算法增强,使应用有很强的泛化性能。

最后附上我的项目地址github,希望指正并完善,谢谢!

模仿全能扫描王实现文档和证件扫描相关推荐

  1. 如何把图片扫描成word文档?

    在我们工作学习中,难免会遇到需要整理图片中的文字信息.而想要快速的整理出图片中的文字,就需要使用到一些工具来辅助我们,毕竟我们不可能一个个去手动输入,这会很麻烦又浪费我们的时间.那么如何把图片扫描成w ...

  2. 怎么从扫描的PDF文档/图片里提取文字

    时间浪费在打字上可不好! 关于"怎么从扫描的PDF文档/图片里提取文字",我集思广益,得到如下结果: 首先是这里的一篇文章:http://hi.baidu.com/d_zzn047 ...

  3. ABBYY FineReader 14扫描和保存文档

    在ABBYY FineReader 14中您可以使用扫描"新建任务"窗口选项卡上的内置任务创建各种格式的数字文档.本文介绍使用FineReader 14扫描和保存文档的方法. 1. ...

  4. 用python和FreePic2Pdf工具手把手教你生成扫描版PDF文档的目录

    从网上下载一本书籍来看,结果却是书籍页数几百页还没有目录,要想找到自己想看的部分还的自己徒手去翻,哇.....这时心态就崩了,你识别是也遇到过这种情况.很多下载下来的pdf文档都是扫描版的,一般都没有 ...

  5. 手机本地文档文件不能扫描出来的问题

    此类文章的优质博客也有很对,推荐Android手机文件快速扫描我这里主要是记录下文档文件扫描不出的问题: 是由于有些文档不能通过mime_type查询出来的文档 如:.docx .xls .xlsx ...

  6. 9款免费的OCR工具,从扫描的PDF文档中提取文字

    Windows 10有OCR吗? Windows 10 具有适用于所有应用程序的内置OCR服务. 令人惊讶的是,这是Windows搜索工具. 查看如何使用它: 步骤 1. 打开您要扫描的照片.PDF或 ...

  7. 手机如何将Word文档转换为PDF扫描文件

    现在手机对生活的影响越来越大了,很多的事情都可以在手机上进行,办公中阅读和查看文件也可以用手机.那如果在手机上遇到文件格式转换该怎么办呢?比如需要将最常用的Word文件转换为PDF文件该怎么做呢?有疑 ...

  8. 如何制作扫描版的文档

    一.手机应用 1.扫描全能王 炒鸡好用. 2.其他没用过 扫描宝.office lens.坚果云扫描. 二.扫描仪版 1.用Adobe acrobat从扫描仪新建PDF https://helpx.a ...

  9. Android扫描系统文件,安卓文档扫描仪

    不管是工作还是生活中,难免会遇到需要扫描文件给对方的情况.那么,周围环境没有扫描仪该怎么办呢?其实,手机里面有一个自带的扫描仪功能,只是你不知道也不会用罢了.今天就给分享一招手机里自动的扫描仪功能,解 ...

  10. 计算机上如何配置扫描设置,在 MF Toolbox 中配置扫描设置

    在 MF Toolbox 中配置扫描设置 本章节说明使用 MF Toolbox 扫描时可用的各种扫描设置. 注释 双击桌面上的 [MF Toolbox] 图标时,将显示以下说明中的 [MF Toolb ...

最新文章

  1. 游戏在ios和android,陈情令手游ios和安卓互通吗 ios和安卓能一起玩吗
  2. 三观碎一地:轮子天天见,车轮悖论却2000年无解?
  3. OpenCV的resize方法与双线性插值
  4. led数字字体_技术丨体育场馆LED显示屏设计与安装要求
  5. View如何设置16进制颜色值
  6. 【leetcode】1018. 可被 5 整除的二进制前缀
  7. jquery常用选择器和常用方法
  8. 萤火虫小程序_玩转跨界营销,《狐妖小红娘》都使上了哪些神仙操作?
  9. 频谱、幅度谱、功率谱和能量谱
  10. GitHub之多人开发一个项目
  11. Bypass 360主机卫士SQL注入防御(多姿势)
  12. OTU的定义与解读----了解笔记
  13. 琴岛学院java书_​师生共品书 传承优秀传统文化 琴岛学院第十三届金秋读书节开幕...
  14. Python--基础语法知识
  15. Excel 提取工作表名
  16. 使用canvas实现对图片的翻转
  17. 发布物|The Open Group正式发布中文版《ArchiSurance案例研究》
  18. 华为Java面试真题解析,都是精髓!
  19. 25年持续创新的奥秘:解读亚马逊的创新DNA
  20. 电子木鱼这么火?Python仅需50行代码实现(附代码,及素材)

热门文章

  1. uni-app 获取屏幕亮度与设置屏幕亮度
  2. c语言编程开发app,C语言编程app
  3. 插入新题注变乱了_Word 自动更改题注章节编号格式“图一.1”为“图1.1”
  4. 网站推广优化教程100条(完整版)
  5. 吴翰清​的科技史观:有变革的需求,才有技术的诞生
  6. 股市预测python代码<循环神经网络>
  7. crmeb java单商户
  8. NPOI Word插入图片的方法
  9. C/C++ 编码准则,可借鉴的东西还挺多!
  10. 解决同一办公环境局域网下无法添加打印机的情况