admin管理员组

文章数量:1540288

2024年3月15日发(作者:)

50

·技术方法·

2021

年第

6

用于原文传递的手机拍摄文本图像批量自动校正程序设计

朱玉强 范翠丽

畸变等问题,在使用铁架台固定手机采集图像环

摘 要

为解决原文传递业务中使用手机拍摄所得文本图像的倾斜、

境下,使用Python及其第三方图像处理库编制程序,对采集图像进行批量自动几何校正,在拓展手机摄像头扫描功能的

同时提升了读者阅读体验,取得较好效果。

关键词

文本图像 几何校正 原文传递 图像处理

分类号

G255.1

DOI 

10.16810/.1672-514X.2021.06.009

Program Design for Batch Automatic Correction of Text Images Captured by

Mobile Phone for Original Text Transmission

Zhu Yuqiang, Fan Cuili

Abstract

 In order to solve the problems of skew and distortion in the text image captured by mobile phone in the 

original text transmission business, Python and its third-party image processing library are used to program the collected 

images in batch under the environment of fixed mobile phone image acquisition with iron frame platform, which can 

expand the scanning function of mobile phone camera and improve readers

 reading experience, and achieve good 

results.

Keywords

Text image. Geometric correction. Original text transmission business. Image processing.

图书馆文献传递工作中,“复制

——

非返还”型

业务以传递电子文献为主。由传统纸质文献转为电

子文献,大多借助扫描仪完成,其优点为数据质量统

一、资料平整清晰,缺点为扫描耗时长、工作效率偏

低。随着智能手机日益普及及手机摄像头像素越来

越高,文献传递员遇到用户“只想看一眼,不用多高

清”的需求时,可以用手机随手拍发给用户,快速便

捷,缺点为成像距离不同、易倾斜易畸变等。本文通

过编制程序,自动批量校正手机拍摄文本图片,兼顾

手机拍照的便利性与扫描仪成像的易读性,有助于

提高图书馆文献传递员工作效率和读者体验。

平均像素基本都高于手机平均像素,成像质量也高

于手机拍照质量。

已知华为、小米、VIVO、苹果、魅族、flyme等手

机原生内置“文档校正”(或“文档矫正”等类似叫法)

功能,即用户拍照后,内置软件可自动或半自动校

正图片倾斜、梯形或桶形畸变等

[1]

。另有很多运行于

Android或IOS平台的第三方App,主打扩展手机摄像

头扫描功能,如“扫描全能王”“全能扫描王”“扫描

[2]

文件全能王”“vFlat”,等实现了“文档校正”功能

[3]

不以扫描为主打功能但带有“文档校正”功能的第

三方App还有印象笔记等

[4]

。上述手机或App每当用

户拍摄完毕即弹出窗口提示交互操作,一般不支持

批量自动处理图片,不方便处理大宗相同或近似质

量文档。

“文档校正”功能属于图像处理范畴,其核心原

理为在原图中计算并划定待处理像素点,遍历各点,

根据一定算法将各点映射到理想图片中坐标点并重

排构建,使用一定算法自动生成像素点填充理想图

片中可能出现的“孔洞”。束彩炜以验证有效的图像

1 研究背景

传统平板式扫描仪成像质量高但效率偏低,价

格相对昂贵,低价位设备大多需连接电脑工作。便携

式扫描仪携带方便,工作速度一般高于平板式扫描

仪,但画质稍逊。高拍仪价格及成像质量介于平板式

扫描仪与便携式扫描仪之间,一般自带图片倾斜旋

转功能,但也需连接电脑才能工作。上述3种扫描仪

朱玉强 范翠丽:用于原文传递的手机拍摄文本图像批量自动校正程序设计

Zhu Yuqiang, Fan Cuili: Program Design for Batch Automatic Correction of Text Images Captured by Mobile Phone for Original Text 

几何校正算法编写程序,应用于Android智能手机,实

现了图像校正功能

[5]

。刘铃等使用Harris角点检测方

法对扫描后倾斜的文档进行校正,取得良好效果

[6]

王兆亮基于Snakes模型对中文扭曲文档图像进行校

正,提升了校正后OCR文字识别率

[7]

。罗晓萍利用向

上优先区域生长法搜索行间留白的文档图像,分割

得到弯曲行图像,进而拆分并重新拼接为校正后的

新图像

[8]

。冯雷使用hough变换对倾斜文档图像快速

校正,提高了分割和识别精度

[9]

。何希平等提出一种

倾斜校正算法实现图像旋转变换,同时解决由于整

数运算所造成的“锯齿”现象

[10]

。曾凡锋等根据形态

学特征在复杂版面中定位文本行、提取文本线,以文

本线为基准进行校正并重构图像

[11]

。向世明等针对

积厚文档不能紧贴于扫描平面导致出现黑色阴影及

文本扭曲现象,采用分块自动阈值算法去除阴影,

通过估计的几何参数和分片四边形映射方法纠正扭

曲,取得较好效果

[12]

本文利用智能手机,充分拓展摄像头扫描的功

能,基于Python并利用其效率较高的第三方图像处

理库编程

[13]

,对手机拍摄文本图像进行批量自动几

何校正,并将其应用于图书馆原文传递业务,取得了

良好效果。

2 程序设计思路及实施方案

系统总体目标为将使用智能手机拍摄的、具有

相同或相似质量的文本型图片自动批量校正并个性

化,实现图片旋转、畸变校正、亮度对比度调整、加水

印、转PDF、文字识别等功能。为获取大致相同质量

的图片数据,本文模拟高拍仪摄像头布局方案,将智

能手机固定于铁架台上,使手机屏幕朝上平行于铁

架台底座,启用后置摄像头方便取景,用户可单击触

摸屏或另接自拍杆使用物理按键拍摄。系统由图像

采集、同步电脑、图像处理3层结构组成,如图1所示。

图像采集由智能手机拍摄完成;同步电脑模块将手

机图片导入电脑;图像处理为核心模块,实现自动校

正等个性化功能。

智能手机摄像头拍摄图像采集

使用第三方工具Daemon Sync自动将手机

新增图片同步至电脑

同步电脑

批量自动几何校正、加水印、转PDF等

图像处理

图1 系统模块

Transmission

51

3 关键方法与技术

3.1 旋转图片

所拍摄图片往往存在不同角度的倾斜,可使用

“霍夫变换”检测图片中直线

[14]

,通过求直线斜率得

到旋转角正切值,使用反三角函数计算旋转角,自动

旋转实现校正。Python核心算法如下:

gray = or(img,_BGR2GRAY) 

# 将BGR格式图片转为灰度图片

edges = (gray,50,150,apertureSize = 3) # 

使用Canny算子获取图片边缘

lines = ines(edges,1,/180,0) # 使

用霍夫变换检测直线

for p,e in lines[0]:

    a = (e)

    b = (e)

    x0 = a*p

    y0 = b*p

    x1 = int(x0 + 1000*(-b))

    y1 = int(y0 + 1000*(a))

    x2 = int(x0 - 1000*(-b))

    y2 = int(y0 - 1000*(a))

tg = float(y2-y1)/(x2-x1) # 求直线斜率,即旋转

角正切值

r_angle = s((tg)) # 取反正切

值得旋转角

如图2所示,倾斜图片经程序自动顺时针旋转约

3度已被校正,右图中铅垂线为程序自绘霍夫线。为

突出效果,保留了图片旋转后的黑色背景,实际工作

中将黑色替换为白色、再使用三方库PIL的方

法剪切边界可提升读者体验。

图2 旋转图片

3.2 切割双面拍摄图片为单面

原则上将双面图片折半处理即为单面图片,为

52

·技术方法·

精确切割,先使用3.1所述方法按需旋转图片,再使

用“最小面积外接矩形法”取各单页轮廓,按取回矩

形的四个角点坐标进行精准切割。Python核心算法

如下:

m, n = old(or(img, cv2.

COLOR_BGR2GRAY), 127, 255, _

BINARY) # 二值化图片

o, h = ntours(n, _EXTERNAL, 

_APPROX_SIMPLE) # 找图片轮廓

for c in o:

    r = aRect(c) # 找最小区域

    b = nts(r) # 算最小面积矩形坐标

    b = 0(b)

   ntours(img, [b], -1, (0, 255, 0), 2) # 

绘矩形

处理结果如图3所示,双面拍摄的图片上已绘制

两个矩形外框,取各矩形顶点坐标,使用三方库PIL

的方法各自剪切成单面文档即可。

图3 取图片轮廓

3.3 梯形图片自动校正

将手机摄像头利用铁架台、自拍杆等辅助工具

支撑好,使之与被拍摄纸张平行,可有效防止图片出

现梯形畸变。算法原理为,取原图四个角点坐标,计

算各角点在校正后理想图片中映射位置,并将原图

四个角点内部各像素点逐一填补到校正后图片中。

核心代码如下:

point1 = ([[150,100],[418,108],[0,512],[40

4,573]],dtype = "float32") # 原图四角坐标:左上/右上/

左下/右下

point2 = ([[0,0],[295,-25],[0,500],[380,510]],

dtype = "float32") # 欲调整图片四角坐标M = 

tPerspectiveTransform(point1,point2) # 透视变换核心

命令一

2021

年第

6

out_img = rspective(img,M,(w,h)) # 透

视变换核心命令二

如3.2所述,图片四个角点坐标可通过cv2.

minAreaRect()“找最小区域”的方法获得,取回矩形

不唯一时,最大外轮廓四个角点坐标可通过各矩形

轮廓角点加和求出,此不赘述。梯形校正效果如图4

所示,可再用PIL的方法进一步剪切。

图4 梯形图片校正

3.4 桶形图片自动校正

桶形畸变属径向畸变之一种,畸变沿透镜半径

方向发生。如所拍摄资料过厚,拍照时书页未被压

实,图片容易出现桶形畸变。自动校正原理为,忽略

切向畸变和离心畸变,仅考虑径向畸变,使用以下公

式计算原图片像素点与校正后图片像素点对应关

系:

其中,r

2

=x原

2

+y原

2

,k1、k2、k3为径向畸变系数。

本文忽略k2和k3对结果影响(影响非常小),使用

Matlab仿真得到k1值。对于相同手机、拍摄位置固定

的情形,k1值为同一常数。灰度校正采用最邻近插

值法,“孔洞”填充采取8领域内均值滤波。桶形校正

后,可按3.3所述方法再进行一次梯形校正,效果如

图5所示。虽未被完全“平整化”,但已基本达到文献

传阅需求,可再用PIL的方法进一步剪切。

图5 桶形图片校正

3.5 个性功能

程序可实现个性功能,如文字识别、加水印、转

PDF、亮度对比度调节等。在Python中,可通过三方库

朱玉强 范翠丽:用于原文传递的手机拍摄文本图像批量自动校正程序设计

Zhu Yuqiang, Fan Cuili: Program Design for Batch Automatic Correction of Text Images Captured by Mobile Phone for Original Text 

pytesseract调用Tesseract-OCR,利用经过训练的语言

包(*.traineddata文件)进行中英文、数字识别;可通

过三方库PIL的方法添加文字水印;可通过

三方库fitz和pymupdf将JPG批量转PDF;可通过三方

库matplotlib调节图片亮度与对比度;可通过三方库

selenium操作网页,后台静默上

传生成的PDF文档并自动生成下载链接供读者使用

等,此不赘述。

4 应用效果评价

程序主体使用Python编写,过程调用了Matlab仿

真结果,各模块可稳定运行于32位和64位Windows7

和Windows10操作系统。文中图片除图1外均使用三

星GT-I9118单一后置摄像头拍摄,摄像头参数为500

万像素,图像尺寸平均2560像素宽、1920像素高,水

参考文献:

[ 1 ]

阿里巴巴(中国)网络技术有限公司.手机_淘宝

搜索[EB/OL].[2020-07-05]./search?q

=%E6%89%8B%E6%9C%BA&imgfile=&js=1

&stats_click=search_radio_all%3A1&initiative_

id=staobaoz_20200704&ie=utf8.

[ 2 ]

百度在线网络技术(北京)有限公司.百度手机助手,

安卓软件,安卓游戏,下载[EB/OL].[2020-07-05].

/s?wd=%E6%89%AB%E6%8F%8F&data_

type=app&f=header_all%40input.

[ 3 ]

小众软件.vFlat 

会弯曲校正、移除手指头的纸质

书籍扫描仪(Android)[EB/OL].[2020-07-05].www.

/vflat-book-scanner-for-android/.

[ 4 ]

北京印象笔记科技有限公司.一站式完成知识信息的收

集备份、高效记录、分享、多端同步和永久保存[EB/OL].

[2020-07-05]./product/main/.

[ 5 ]

束彩炜.基于智能手机的多视角文档图像几何校正

[D].南京:南京邮电大学,2019.

[ 6 ]

刘铃,陈立峰,彭向前.基于角点检测的倾斜文档校

正[J].机电信息,2019(27):136-137,139.

[ 7 ]

王兆亮.基于Snakes模型的中文扭曲文档图像校正

技术研究[D].北京:北方工业大学,2017.

[ 8 ]

罗晓萍.基于行间留白的文档图像校正方法[J].计算

机工程,2017,43(4):277-280,286.

Transmission

53

平与垂直分辨率均为72DPI,位深度为24。旋转图片、

切割双面图片功能对不同批次作业通用,无需调整

任何代码段;梯形图片与桶形图片校正功能,需根据

所拍摄图片微调部分参数,自动化率不低于95%。抽

检自动处理后图片,根据图像评价的5分制“全优度

尺度”

[15]

,图片合格率不低于98%。

“复制

——

非返还”型原文传递业务需要扫描速

度快、成像质量适中的扫描工具及图像处理软件,本

文拓展智能手机摄像头功能作扫描仪用,编制程序

自动批量校正手机拍摄图像,基于原文传递业务需

求提供加水印、转PDF等个性化功能,实践表明程序

处理后图片可基本平衡大部分原文传递业务对工作

时间和阅读体验需求,自动化程度高,具有推广性。

然而程序对梯形和桶形图像的处理尚未实现全自

动,仍需人工微调少量参数,尚待完善。

[ 9 ]

冯雷,耿英楠.基于hough变换的倾斜文档图像快

速校正[J].内蒙古师范大学学报(自然科学汉文

版),2017,46(2):219-222.

[10]

何希平,李云峰,朱庆生.彩色文档图像的倾斜自动

校正算法[J].中国图象图形学报,2006(3):367-371,297.

[11]

曾凡锋,段漾波.一种复杂版面扭曲文档图像快速校

正方法[J].计算机应用与软件,2016,33(6):172-175,286.

[12]

向世明,赵国英,陈睿,等.积厚文档扫描图像校正[J].

计算机辅助设计与图形学学报,2005,17(1):42-48.

[13]

深圳华秋电子有限公司. Python中最常用十大图像处

理库详细介绍[EB/OL].[2020-07-05].ns.

com/article/.

[14]

DUDA R O , HART P E. Use of the hough transform to 

detect lines and curves in pictures[J]. ACM Community 

Management,1972,15(1):11-15.

[15]

一牛网.图像质量评价的两个方法_一牛网[EB/OL].

[2020-07-05]./.

朱玉强 

山东师范大学图书馆研究馆员、硕士生导师。

山东济南,250014。

范翠丽 

山东科学技术出版社有限公司数字传媒分公司

编辑。 山东济南,250002。

(收稿日期:2020-08-15 编校:陈安琪,左静远)

本文标签: 校正图片图像拍摄