一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像的倾斜校正方法、装置、存储介质及计算机设备与流程

2022-05-18 08:08:13 来源:中国专利 TAG:


1.本技术涉及图像处理领域,尤其涉及一种图像的倾斜校正方法、装置、存储介质及计算机设备。


背景技术:

2.利用ocr(optical character recognition,光学字符识别)算法识别图像中的字符的过程中,对图像进行倾斜角度检测和校正是一项重要的预处理工作,直接关系到ocr识别的准确性。现有技术一般采用边缘轮廓最小外接矩形法、直线拟合法、霍夫变换法、傅立叶变换到频域等方法检测图像的倾斜角度,然后基于该倾斜角度做仿射变换实现角度矫正。
3.然而现有技术的校正方法可能涉及边缘提取、滤波、形态学运算、直线检测等高度依赖具体场景阈值(及参数)的图像处理操作,一旦阈值或参数选取不当,其效果往往大打折扣因此校正方法的准确性和鲁棒性均无法满足工业级应用需求。


技术实现要素:

4.本技术实施例提供了图像的倾斜校正方法、装置、存储介质及计算机设备,可以解决现有技术中图像倾斜校正方法存在准确性差和鲁棒性低的问题。所述技术方案如下:第一方面,本技术实施例提供了一种图像的倾斜校正方法,所述方法包括:获取原始图像;将所述原始图像转换为灰度图像;确定所述灰度图像的中心点;以所述中心点为基准点将所述灰度图像朝同一方向旋转不同角度得到n个旋转图像;其中,n为大于1的整数;计算各个旋转图像对应的m个投影积分值的方差,得到n个方差值;其中,m为大于1的整数;在所述n个方差值中确定最大值,以及确定所述最大值对应的旋转图像;根据确定的旋转图像的旋转角度对所述原始图像进行倾斜校正。
5.第二方面,本技术实施例提供了一种图像的倾斜校正装置,所述装置包括:获取单元,用于获取原始图像;转换单元,用于将所述原始图像转换为灰度图像;确定单元,用于确定所述灰度图像的中心点;旋转单元,用于以所述中心点为基准点将所述灰度图像朝同一方向旋转不同角度得到n个旋转图像;其中,n为大于1的整数;计算单元,用于计算各个旋转图像对应的m个投影积分值的方差,得到n个方差值;其中,m为大于1的整数;所述确定单元,还用于在所述n个方差值中确定最大值,以及确定所述最大值对应
的旋转图像;校正单元,用于根据确定的旋转图像的旋转角度对所述原始图像进行倾斜校正。
6.第三方面,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
7.第四方面,本技术实施例提供一种计算机设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
8.本技术一些实施例提供的技术方案带来的有益效果至少包括:将原始图像转换得到的灰度图像基于中心点朝同一方向多次旋转得到多个旋转图像,然后根据各个旋转图像的投影积分值计算各个旋转图像的方差值,然后根据方差值最大的旋转图像的旋转角度对原始图像进行倾斜校正,由此可见本技术的倾斜校正过程不涉及边缘提取、滤波、形态学运算、直线检测等依赖阈值或参数设定的步骤,从而可以避免因阈值或参数选取不佳造成的种种误差,因此本技术的倾斜校正方法相比于现有技术可以提高校正的准确性和鲁棒性。
附图说明
9.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
10.图1是本技术实施例提供的图像的倾斜校正方法的流程示意图。
11.图2是本技术实施例提供的计算旋转图像的中心点的原理示意图。
12.图3是本技术实施例提供的生成n个旋转图像的原理示意图。
13.图4是本技术实施例提供的按行求和和按列求和得到投影积分值的原理示意图。
14.图5是本技术提供的一种图像的倾斜校正装置的结构示意图。
15.图6是本技术提供的一种计算机设备的结构示意图。
具体实施方式
16.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
17.需要说明的是,本技术提供的图像的倾斜校正方法一般由计算机设备执行,相应的,图像的倾斜校正装置一般设置于计算机设备中。
18.本技术的计算机设备上可以安装有各种通信客户端应用,例如:视频录制应用、视频播放应用、语音交互应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
19.计算机设备可以是硬件,也可以是软件。当计算机设备为硬件时,可以是具有显示屏的各种计算机设备,包括但不限于智能手机、平板电脑、膝上型便携式计算机和台式计算机等等。当计算机设备为软件时,可以是安装上述所列举的计算机设备中。其可以实现呈多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。
20.当计算机设备为硬件时,其上还可以安装有显示设备和摄像头,显示设备显示可以是各种能实现显示功能的设备,摄像头用于采集视频流;例如:显示设备可以是阴极射线管显示器(cathode ray tube display,简称cr)、发光二极管显示器(light-emitting diode display,简称led)、电子墨水屏、液晶显示屏(liquid crystal display,简称lcd)、等离子显示面板(plasma display panel,简称pdp)等。用户可以利用计算机设备上的显示设备,来查看显示的文字、图片、视频等信息。
21.下面将结合附图1,对本技术实施例提供的图像的倾斜校正方法进行详细介绍。其中,本技术实施例中的图像的倾斜校正装置可以是图1所示的计算机设备。
22.请参见图1,为本技术实施例提供了一种图像的倾斜校正方法的流程示意图。如图2所示,本技术实施例的所述方法可以包括以下步骤:s101、获取原始图像。
23.其中,倾斜校正装置可以通过图像扫描单元获取彩色的原始图像,或由其他设备导入原始图像,本技术的原始图像用于后续进行ocr得到字符文本,原始图像包括空白的行或列,空白的行或列为字符行或字符列之间的区域。本技术的原始图像可以是扫描电子文档、卡片、证件、票据或表单生成的包含字符的图像。
24.s102、将原始图像转换为灰度图像。
25.其中,获取到的原始图像为彩色图像,彩色图像为三通道的图像,灰度图像为一通道的图像,将彩色的原始图像转换为灰度图像的方法包括但不限于如下方法:方法一、根据如下公式将原始图像的各个像素的像素值转换为灰度值:gray=(r
×
19595 g
×
38469 b
×
7472)>>16;其中,gray表示灰度值,r表示红色像素值,b表示蓝色像素值,g表示绿色像素值,>>表示右移运算符。
26.方法二、采用公式gray = r*0.299 g*0.587 b*0.114将原始图像转换为灰度图像,r为原始图像中像素的红色像素值,g表示原始图像中像素的红色像素值,b表示原始图像中像素的蓝色像素值,gray表示转换后得到的灰度值。
27.方法三、gray = (r g b)/3进行转换,g表示原始图像中像素的红色像素值,b表示原始图像中像素的蓝色像素值,gray表示转换后得到的灰度值。
28.s103、确定灰度图像的中心点。
29.其中,灰度图像的形状一般为矩形,灰度图像的中心点为几何中心,中心点即矩形的两个对角线的相交点。
30.举例来说,参见图2所示,灰度图像的长度为a,宽度为b,基于灰度图像建立直角坐标系,灰度图像的左上角的顶点作为原点(0,0),灰度图像的其余三个顶点的坐标如图2中所示,那么中心点c的坐标为(a/2,b/2)。
31.s104、以中心点为基准点将灰度图像朝同一方向旋转不同角度得到n个旋转图像。
32.其中,倾斜矫正装置以中心点为基准点将灰度图像朝同一方向旋转n-1次,每次旋转的角度各不相同,得到n个旋转图像,n个旋转图像包括处于原始位置的灰度图像。旋转方向可以为顺时针方向或逆时针方向。本技术的旋转次数和旋转角度的分辨率可以根据实际需求而定,旋转次数越多且分辨率越高,校正的精度越高。
33.举例来说,参见图3的示意图,将灰度图像超逆时针方向进行旋转,得到n个旋转图
像,n个旋转图像的旋转角度分别为、、

、。可选的,旋转角度的最大值为180度,即=180度,相邻的两个旋转角度之间的差值为1度,即-=1度,即分辨率为1度,这样既能保证校准的精度,又可以减少运算量。
34.s105、计算各个旋转图像对应的m个投影积分值的方差,得到n个方差值。
35.其中,方差表示多个数据之间的离散程度,除了本技术的方差之外,还可以使用极差、四分位差、标准差或变异系数来表示离散程度。设旋转图像的分辨率为a
×
b,即旋转图像由a个像素行和b个像素列组成,首先计算旋转图像对应的m个投影积分值,投影积分值可以为行投影积分值和列投影积分值。
36.当为列投影积分值时,m≤b且m为整数,将旋转图像包含的b个像素列中选择m个像素列,将各个像素列包含的像素进行像素求和得到列投影积分值。
37.例如:a=50,b=100,m=b=100,旋转图像由50个像素列和100个像素列组成,100个像素列中每个像素列包含50个像素,每个像素对应一个灰度值,将每个像素列对应的50个灰度值进行求和得到该列的列投影积分值,最终得到100个列投影积分值。
38.当为行投影积分值时,在旋转图像包含的a个像素行中选择m个像素行,m≤a且m为整数,将各个像素行包含的像素进行像素值求和得到行投影积分值。对于各个旋转图像对应的m个投影积分值,计算方差得到n个方差值,方差值表示m个投影积分值的方差,每个旋转图像对应一个方差值。
39.例如:a=50,b=100,m=a=50,旋转图像由50个像素列和100个像素列组成,50个像素行中每个像素行包含100个像素,每个像素对应一个灰度值,将每个像素行对应的100个灰度值进行求和得到该行的行投影积分值,最终得到50个行投影积分值。
40.参见图4所示的,旋转图像按行求和以及按列求和得到的示意图,图4的旋转图像中每个方格表示一个像素,每个像素对应一个灰度值。
41.可选的,采用并行方式将所述灰度图像朝同一方向旋转得到n个旋转图像,以及采用并行方式计算各个旋转图像的方差值,例如,采用n个cpu或gpu同时运行,每个cpu或gpu各自执行一个生成旋转图像和计算方差值的计算任务,可以提高计算效率减少计算时间。
42.s106、在n个方差值中确定最大值,以及确定最大值对应的旋转图像。
43.其中,将n个旋转图像对应的n个方差值进行升序排列或降序排列,然后确定n个方差值中的最大值,然后在n个旋转图像中确定最大值对应的旋转图像。
44.s107、根据确定的旋转图像的旋转角度对原始图像进行倾斜校正。
45.在一种可能的实施例中,当投影积分值为列投影积分值时,计算确定的旋转图像的旋转角度与90度之间的差值;若所述差值大于0,则基于所述差值对所述原始图像进行逆时针方向旋转;若所述差值差值小于0,则基于所述差值对所述原始图像进行顺时针旋转。
46.在另一种可能的实施例中,当投影积分值为行投影积分值时,若a≤90度,则基于a对所述原始图像进行逆时针方向旋转;其中,a为确定的旋转图像的旋转角度;若a>90度,计算a和180度之间的差值;若所述差值大于0,则基于所述差值对所述原始图像进行逆时针方向旋转;若所述差值差值小于0,则基于所述差值对所述原始图像朝进行顺时针旋转。
47.本技术的实施例在校正图像的倾斜角度时,将原始图像转换得到的灰度图像基于
中心点朝同一方向多次旋转得到多个旋转图像,然后根据各个旋转图像的投影积分值计算各个旋转图像的方差值,然后根据方差值最大的旋转图像的旋转角度对原始图像进行倾斜校正,由此可见本技术的倾斜校正过程不涉及边缘提取、滤波、形态学运算、直线检测等依赖阈值或参数设定的步骤,从而可以避免因阈值或参数选取不佳造成的种种误差,因此本技术的倾斜校正方法相比于现有技术可以提高校正的准确性和鲁棒性。
48.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
49.请参见图5,其示出了本技术一个示例性实施例提供的图像的倾斜校正装置的结构示意图,以下简称装置5。该装置5可以通过软件、硬件或者两者的结合实现成为倾斜校正装置的全部或一部分。装置5包括:获取单元501、转换单元502、确定单元503、旋转单元504、计算单元505和校正单元506。
50.获取单元501,用于获取原始图像;转换单元502,用于将所述原始图像转换为灰度图像;确定单元503,用于确定所述灰度图像的中心点;旋转单元504,用于以所述中心点为基准点将所述灰度图像朝同一方向旋转不同角度得到n个旋转图像;其中,n为大于1的整数;计算单元505,用于计算各个旋转图像对应的m个投影积分值的方差,得到n个方差值;其中,m为大于1的整数;所述确定单元503,还用于在所述n个方差值中确定最大值,以及确定所述最大值对应的旋转图像;校正单元506,用于根据确定的旋转图像的旋转角度对所述原始图像进行倾斜校正。
51.在一个或多个可能的实施例中,所述计算各个旋转图像对应的m个投影积分值的方差,得到n个方差值,包括:将旋转图像的包含的各个像素的灰度值按列求和得到m个投影积分值;其中,所述根据确定的旋转图像的旋转角度对所述原始图像进行倾斜校正,包括:计算确定的旋转图像的旋转角度与90度之间的差值;若所述差值大于0,则基于所述差值对所述原始图像进行逆时针方向旋转;若所述差值小于0,则基于所述差值对所述原始图像朝进行顺时针旋转。
52.在一个或多个可能的实施例中,所述计算各个旋转图像对应的m个投影积分值的方差,得到n个方差值,包括:将旋转图像的包含的各个像素的灰度值按行求和得到m个投影积分值;其中,所述根据确定的旋转图像的旋转角度对所述原始图像进行倾斜校正,包括:若a≤90度,则基于a对所述原始图像进行逆时针方向旋转;其中,a为确定的旋转图像的旋转角度;若a>90度,计算a和180度之间的差值;若所述差值大于0,则基于所述差值对所述原始图像进行逆时针方向旋转;若所述差值差值小于0,则基于所述差值对所述原始图像进行顺时针旋转。
53.在一个或多个可能的实施例中,旋转方向为逆时针,相邻的两个旋转图像之间的
旋转角度的差值为1度,且最大旋转角度为180度。
54.在一个或多个可能的实施例中,所述将所述原始图像转换为灰度图像,包括:将所述原始图像中各个像素的红色像素值、蓝色像素值和绿色像素值进行平均得到像素的灰度值。
55.在一个或多个可能的实施例中,采用并行方式将所述灰度图像朝同一方向旋转得到n个旋转图像,以及采用并行方式计算各个旋转图像的方差值。
56.在一个或多个可能的实施例中,所述原始图像为扫描电子文档、卡片、证件、票据或表单生成的图像。
57.需要说明的是,上述实施例提供的装置5在执行图像的倾斜校正方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成上述的全部或者部分功能。另外,上述实施例提供的图像的倾斜校正装置与图像的倾斜校正方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
58.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
59.本技术实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1所示实施例的方法步骤,具体执行过程可以参见图1所示实施例的具体说明,在此不进行赘述。
60.本技术还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的图像的倾斜校正方法。
61.请参见图6,为本技术实施例提供了一种倾斜校正装置的结构示意图。如图6所示,所述倾斜校正装置600可以包括:至少一个处理器601,至少一个网络接口604,用户接口603,存储器605,至少一个通信总线602。
62.其中,通信总线602用于实现这些组件之间的连接通信。
63.其中,用户接口603可以包括触摸屏和摄像头(camera)。
64.其中,网络接口604可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
65.其中,处理器601可以包括一个或者多个处理核心。处理器601利用各种接口和线路连接整个倾斜校正装置600内的各个部分,通过运行或执行存储在存储器605内的指令、程序、代码集或指令集,以及调用存储在存储器605内的数据,执行倾斜校正装置600的各种功能和处理数据。可选的,处理器601可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器601可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器601中,单独通过一块芯片进行实现。
66.其中,存储器605可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。可选的,该存储器605包括非瞬时性计算机可读介质
(non-transitory computer-readable storage medium)。存储器605可用于存储指令、程序、代码、代码集或指令集。存储器605可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器605可选的还可以是至少一个位于远离前述处理器601的存储装置。如图6所示,作为一种计算机存储介质的存储器605中可以包括操作系统、网络通信模块、用户接口模块以及应用程序。
67.在图6所示的倾斜校正装置600中,用户接口603主要用于为用户提供输入的接口,获取用户输入的数据;而处理器601可以用于调用存储器605中存储的应用程序,并具体执行如图2所示的方法,具体过程可参照图2所示,此处不再赘述。
68.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
69.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献