工作中常常会用到扫描全能王这个工具,对于少量的文档电子化管理实在是太方便,并且对于商务人士来说文件的管理、打印、移动办公都是非常有用。
因为对图像处理有一定的了解和实际操作,所以在想扫描王的一些扫描功能是否可以自己实现,参考网上部分资料后搭建了一个 简单的文档扫描系统。
扫描王实现流程:
1 文档定位
文档定位和本人前面一个车牌识别的定位功能大同小异,对于文件扫描一般我们会手动调整一个比较好的位置,所以背景相对来说不会特别复杂。
主要步骤如下:
1、 图片尺寸变换,将图片缩小到一定的尺寸,方便界面显示;
2、将灰度化的图片进行滤波处理,我这里采用的是中值滤波;
3、直接将图片进行二值化处理;
4、图像闭运算;
5、Candy边缘检测;
6、查找轮廓;
7、根据轮廓的大小排序;
8、判断轮廓是否是矩形、轮廓的面积大小、轮廓的周长来定位文档。
2 仿射变换进行文档校正
计算查找到的轮廓四个边的长度,选取长、宽中最大值作为校正的长宽;然后计算旋转矩阵;通过旋转矩阵将图像进行校正变换。
3 图像增强处理
扫描全能王中的扫描功能不是将图片直接进行二值化处理,而是对色彩进行增强和锐化,这样背景中的白、浅黄、灰色等会变成白色,红色、蓝色等文档本身的色彩可以一定程度的保留