图像方向的确定方法、装置和电子设备与流程

文档序号:21697659发布日期:2020-07-31 22:47阅读:183来源:国知局
图像方向的确定方法、装置和电子设备与流程

本申请实施例涉及电子信息技术领域,尤其涉及一种图像方向的确定方法、装置、电子设备及计算机存储介质。



背景技术:

随着计算机和互联网技术的迅速发展,教学内容逐渐丰富,现在的学生们作业多,考试多,作业中遇到难题等问题或者老师在批改试卷时,用户可以通过拍摄试卷或作业等方式,将纸质版的试卷或作业信息转化为图像,然后导入自动阅卷系统进行相关处理,从而实现使用自动化设备对试卷图像进行阅卷或作业批改等。

自动阅卷系统有自动批改系统、半自动批改系统和人工在线批改系统等,无论是哪种系统都需要学生或老师将作业图像或试卷图像上传至批改系统中,然后才能进行批改。然而,由于拍照设备各种各样,拍出的图像也各不相同,因此输入到批改系统中的图像并不都是正常方向的,旋转90度、180度、270度的作业图像或试卷图像非常普遍,旋转的图像会影响自动和半自动作业批改系统的效率和精度,即使人工批改系统在遇到旋转图像时也需要将其转正后再进行批改,这样既影响了批改的效率也影响了系统的体验效果。

因此针对这种情况,需要提出一种确定图像方向的方法,使得上传至批改系统的图像可以根据确定的图像方向自动转正,从而有利于后续根据转正后的图像进行批改,提高批改效率。



技术实现要素:

有鉴于此,本申请实施例所解决的技术问题之一在于提供图像方向的确定方法、装置、电子设备及计算机存储介质,用以克服现有技术中上传至批改系统的作业图像或试题图像存在旋转角度,需要将其转正,从而影响批改效率的缺陷。

第一方面,本申请实施例提供了一种图像方向的确定方法,所述方法包括:对目标图像的连通域进行检测,得到n个区块,n为自然数;

根据所述n个区块分布在所述目标图像中的位置,确定m个裁剪点,m为正整数;

根据所述m个裁剪点,按照预设尺寸在所述目标图像中裁剪得到m个裁剪图像;

将所述m个裁剪图像输入第一图像方向分类模型,获得m个所述裁剪图像分别对应的图像方向,图像方向为0°、90°、180°、270°、无方向中的一项;

根据所述m个图像方向确定所述目标图像的目标方向,所述目标方向为0°、90°、180°、270°、无方向中的一项。

第二方面,本申请实施例提供了一种图像方向的确定装置,所述装置包括连通域检测模块,裁剪点确定模块,裁剪模块,图像方向确定模块,目标方向确定模块;

所述连通域检测模块用于对目标图像的连通域进行检测,得到n个区块,n为自然数;

所述裁剪点确定模块用于根据所述n个区块分布在所述目标图像中的位置,确定m个裁剪点,m为正整数;

所述裁剪模块用于根据所述m个裁剪点,按照预设尺寸在所述目标图像中的位置,在所述目标图像中裁剪得到m个裁剪图像;

图像方向确定模块,所述图像方向确定模块用于将所述m个裁剪图像输入第一图像方向分类模型,获得所述m个裁剪图像分别对应的图像方向,图像方向为0°、90°、180°、270°、无方向中的一项;

目标方向确定模块,所述目标方向确定模块用于根据所述m个图像方向确定所述目标图像的目标方向,所述目标方向为0°、90°、180°、270°、无方向中的一项。

第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的图像方向的确定方法对应的操作。

第四方面,本申请实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面或第一方面的任意一个实施例中所述的图像方向的确定方法。

本申请实施例提供一种图像方向的确定方法、装置、电子设备及计算机存储介质。该图像方向的确定方法包括:对目标图像的连通域进行检测,得到n个区块,n为自然数;根据n个区块分布在目标图像中的位置,确定m个裁剪点,m为正整数;根据m个裁剪点,按照预设尺寸在目标图像中裁剪得到m个裁剪图像;将m个裁剪图像输入第一图像方向分类模型,获得m个裁剪图像分别对应的图像方向,图像方向为0°、90°、180°、270°、无方向中的一项;根据m个图像方向确定目标图像的目标方向,目标方向为0°、90°、180°、270°、无方向中的一项。本申请实施例是根据n个区块在图像中的位置,确定m个裁剪点,然后根据m个裁剪点,按照预设尺寸在图像中裁剪出m个裁剪图像,使得裁剪出的图像具有代表性,从而提高裁剪图像对应的图像方向的准确性,最后根据m个图像方向确定整个图像的目标方向,进一步提高了判断整个图像的目标方向的准确性。

附图说明

下文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比值绘制的。附图中:

图1为本申请实施例提供的一种图像方向的确定方法的流程图;

图2为本申请实施例提供的一种图像方向确定方法的应用场景图;

图3为本申请实施例提供的另一种图像方向的确定方法的流程图;

图4为本申请实施例提供的再一种图像方向的确定方法的流程图;

图5为本申请实施例提供的一种图像方向的确定装置;

图6为本申请实施例提供的一种电子设备的结构图。

具体实施方式

为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。

需要说明的是,本申请中的目标只是为了表示单数概念,而不用于限制,不是特指某一个,例如,目标图像是指任意一个图像。本申请中的第一和第二只是为了区分名称,并不代表顺序关系,不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,例如,第一图像方向和第二图像方向,这两个图像方向可以是相同的,也可以不相同;再如,第一图像方向分类模型、第二图像方向分类模型、第三图像方向分类模型仅是为了区分分类模型的名称,可以是一样的,也可以是不一样的。本申请实施例中的图像方向为无方向时,表示该图像是无效文本图像,也就是说该图像中不包含文字,有可能是空白图像,也有可能是包含了其他的非文字,例如横向、表格、装订线、划线、图形等。

下面结合本申请实施例附图进一步说明本申请实施例具体实现。

实施例一

本申请实施例一提供一种图像方向的确定方法,图1为本申请实施例提供的一种图像方向的确定方法的流程图,如图1所示,该方法包括以下步骤:

步骤s101、对目标图像的连通域进行检测,得到n个区块。

其中n为自然数,也就是n是非负整数。

在此先对本申请实施例的应用场景进行举例说明,如图2所示,图2为本申请实施例提供的一种图像方向确定方法的应用场景,将作业图像划分为九个宫格区域,找到每个宫格对应的裁剪点,以裁剪点为中心,以预设尺寸为大小进行裁剪,一个宫格中对应一个裁剪图像,为方面描述,用数字1-9表示这九个宫格,在裁剪时,会出现宫格是空白的情况,以及宫格对应的裁剪点靠近作业边缘的情况。例如,图2中宫格1是空白的,在确定宫格1的裁剪点时,是将距离宫格1中心点最近的区块中心作为裁剪点,宫格1的裁剪点位于宫格2中,在裁剪时,宫格1对应的裁剪图像与宫格2对应的裁剪图像有一部分是重叠的;宫格7对应的裁剪点靠近作业图像的边缘,在按照预设尺寸进行裁剪时,会裁到作业图像以外的部分,一种可实现的方式中,如图2所示,将宫格7对应的裁剪图像中超出作业图像的部分进行补0操作,另一种可实现的方式中,将宫格7对应的裁剪图像向内移动,也就是向宫格4的方向移动,确保裁剪图像能够包括裁剪点对应的区块即可,对此本申请实施例不做限制。将9个裁剪图像输入图像方向分类模型中,得到9个图像方向,如图2所示,9个图像方向分别为0°、90°、90°、180°、180°、180°、180°、0°270°、180°;分别统计0°、90°、180°、270°、无方向上图像的个数,180°上的图像方向个数最多,将180°作为作业图像的目标方向,也就是该作业图像是倒向,需要将作业图像旋转180°,从而得到正向作业图像,保证上传至作业批改系统的作业图像是正向的。

目标图像可以自动拍摄获取,也可以从其它设备上接收,目标图像可以为呈现静态的图片或者照片等图像,也可以为呈现动态的视频中的图像帧等,本申请实施例对目标图像的来源不做限制。本申请中的目标图像可以是试题图像、作业图像、文本图像等,目标图像中可以包括但不限于印刷文本、手写文本、印刷和手写混合等文字,可以由多个文本形成的一个或者多个文本段落,也可以包括不以段落的形式出现的文本,例如在表格中出现的文本,在流程图中出现的文本,其中文本可以包括但不限于用于表达一定语意的像素值(如汉字或者英文或者其他语种的像素值)以及数字等,对此本申请不做限制。

本申请实施例检测目标图像的连通域,一个连通域是由具有相同像素值的相邻像素组成像素集合,可以得到多个连通域,对于一个包括有文本的图像来说,至少包括有一个区块。本申请实施例以区块表示检测得到的连通域,对目标图像的连通域进行检测,得到n个区块。

可选的,在本申请的一种实施例中,对目标图像进行二值化,得到二值化图像;对二值化图像进行连通域检测,得到n个区块。

当图像中的像素值只有两种可能的取值,即0或255时,也就是图像的亮度值只有两个状态,取值为0时,像素点为黑,取值为255时,像素点为白,本申请实施例直接对图像的连通域进行检测,得到n个区块。当图像中的像素值在0到255之间,在对图像的连通域检测之前,本申请实施例中还采用大律法ostu将图像二值化,将图像上的像素点的灰度值设置为0或255,使得整个图像呈现出来的只有黑和白,可以理解的是,也可以采用双峰法、p参数法、迭代法等将图像二值化,对此本申请实施例不做限制,得到二值化图像之后,对二值化图像进行连通域检测,得到n个区块。

步骤s102、根据n个区块分布在目标图像中的位置,确定m个裁剪点。

其中m为正整数。

当一个图像中的文本非常多时,其检测连通域得到的区块也非常多,若根据图像方向分类模型对区块进行检测得到区块对应的方向,然后根据区块对应的方向确定图像方向,计算量非常大。本申请实施例是先选择出m个裁剪点,然后根据裁剪点对图像进行裁剪处理,在图像中裁剪出预定尺寸的裁剪图像,然后根据图像方向分类模型对裁剪图像的方向进行检测,可以节省时间。在对图像进行裁剪时,列举两个示例进行说明,第一个示例,在图像上均匀的选择m个裁剪点。

第二个示例,根据n个区块分布在图像中的位置,再在图像上选择m个裁剪点,一种可实现的方式中,图像中包含的区块比较多,但是却集中在图像的左上角,可以将图像划分为多个区域,以均匀划分为4个区域为例进行说明,遍历图像中的区块,计算每个区块与当前区域中心点之间的距离,并将距离值中最小值对应的区块中心作为当前区域的裁剪点,以此得到4个区域对应的裁剪点,也就是4个区域对应的裁剪点也集中在左上角上,可以避免在图像的下半部分或右边选择的裁剪点,所裁剪到的图像是空白图像;可以理解的是,若图像中仅包含1个区块,则本申请实施例中选择的m个裁剪点均是该区块的中心点;若图像中包含0个区块,则本申请实施例中选择的m个裁剪点是对应的m个区域的中心点;另一种可实现的方式中,先在图像上均匀的选择m个裁剪点,若裁剪点周围的区块位置距离裁剪点比较远,例如距离裁剪点300个像素值的范围内没有区块,但是距离裁剪点400个像素值的范围内有很多区块,此时可以以裁剪点为中心点,以400个像素值为预设尺寸进行裁剪,得到的裁剪图像,避免出现以裁剪点为中心点,以300个像素值为尺寸进行裁剪,裁剪得到的图像是空白图像,不能代表该裁剪点的真实图像的情况,空白图像表示不包含文字的图像。

在根据第一个示例对图像进行剪裁时,容易出现裁剪的图像不能代表该裁剪点的真实图像的情况,而第二个示例,也就是本申请实施例是根据n个区块分布在图像中的位置,在图像中选择m个裁剪点,所得到的m个裁剪点具有代表性,从而提高裁剪图像对应的图像方向的准确性。

步骤s103、根据m个裁剪点,按照预设尺寸在目标图像中裁剪得到m个裁剪图像。

本申请实施例根据m个裁剪点,按照预设尺寸在目标图像中裁剪得到m个裁剪图像,例如,以裁剪点为中心,预设尺寸为300×300的方形进行裁剪,裁剪点位于300×300方形的中心。因为选择的裁剪点具有代表性,所以根据裁剪点,按照预设尺寸裁剪得到的图像也具有代表性,从而提高裁剪图像对应的图像方向的准确性。

步骤s104、将m个裁剪图像输入第一图像方向分类模型,获得m个裁剪图像分别对应的图像方向。

其中,一个裁剪图像对应一个图像方向,图像方向为0°、90°、180°、270°、无方向中的一项。

图像方向用于表示需要将图像旋转的角度,例如,若裁剪图像的图像方向为0°,则裁剪图像为正向,不需要对裁剪图像进行旋转;若裁剪图像的图像方向为180°,则裁剪图像为反向,需要对裁剪图像进行旋转180°,才可以将裁剪图像变为正向。图像方向是无方向时表示裁剪图像是不包含文字的图像,当图像方向是无方向时,图像可以不旋转,也可以旋转0°、或90°、或180°、或270°,对此本申请实施例不做限制。本申请中的第一图像方向分类模型可以是vgg-16模型、alexnet模型、inception模型、lenet-5模型等卷积神经网络,对此本申请实施例不做限制,只要是能对输入的m个裁剪图像的图像方向进行分类,得到m个图像方向,都在本申请的保护范围之内。

步骤s105、根据m个图像方向确定目标图像的目标方向。

其中,目标方向为0°、90°、180°、270°、无方向中的一项。

需要说明的是,目标方向用于表示目标图像最终需要旋转的方向,可以是0°,或90°,或180°,或270°,或无方向。在本申请实施例中通过统计0°、90°、180°、270°、无方向上图像方向的个数,将个数最多的图像方向作为图像最终的方向,也就是目标方向。本申请是根据n个区块在图像中的位置,在图像中裁剪出m个裁剪图像,使得裁剪出的m个裁剪图像具有代表性,m个裁剪图像对应m个图像方向,根据m个图像方向确定目标图像的目标方向,与计算所有区块的图像方向相比,本申请实施例仅计算裁剪出的具有代表性的图像方向,减少了计算时间;与先在图像上均匀的选择m个裁剪点,以裁剪点为中心点,以预设大小为尺寸进行裁剪,得到m个裁剪图像相比,本申请实施例是根据n个区块在图像中的位置,在图像中裁剪出m个裁剪图像,从而提高了图像方向的准确性。

实施例二

可选的,在本申请的一种实施例中,步骤102还可以包括步骤102a和步骤102b。

步骤102a、将目标图像划分为m个区域。

示例的,将图像划分为3×3的九宫格,也就是9个区域,此处,m等于9,可以理解的是在划分区域时也可以是4×4,或者2×2,本申请实施例对划分区域的规则不做限制,可以是均匀划分,可以是随机划分,也可以是根据区块分布的位置进行划分,例如在区块集中的地方多划分几个区域,在区块少的地方少划分几个区域,对此,本申请实施例不做限制。

步骤102b、根据n个区块分布在目标图像中的位置,确定m个区域分别对应的裁剪点。

本申请实施例以将图像划分九宫格区域为例进行说明,若图像中布满了文字时,则目标图像中布满了区块,可以理解的是,若图像中的某一区域布满了文字,其他地方没有文字,例如整个图像中只有图像的左上角有文字,则n个区块都分布在左上角宫格区域中,别的区域中不包含区块。本申请实施例在先划分区域,再为每个区域选取裁剪点,并且在选取裁剪点时,是根据n个区块分布在目标图像中的位置确定的,例如,左上角宫格区域中布满了区块,别的区域中不包含区块,遍历所有区块,将距离当前区域中心点最近的区块中心作为裁剪点。一个区域对应一个裁剪点,m个区域对应m个裁剪点,m个裁剪点不是随机选取,使得这m个裁剪点具有代表性,从而使得根据裁剪点裁到的图像也具有代表性,提高了根据裁剪图像得到图像方向的准确性。

可选的,在本申请的一种实施例中,步骤102b可以包括:当n>0时,根据n个区块与当前区域的中心点之间的距离值确定当前区域的目标区块,目标区块的中心点为当前区域的裁剪点;当n=0时,则当前区域的中心点为当前区域的裁剪点。

区块在图像中是随机分布的,对图像进行划分时,会出现以下情况,有的图像中没有区块,有的图像中包含一个区块,有的图像中包含多个区块。以试题图像划分为九宫格为例进行说明,若试题图像中没有包含区块,也就是n=0,则将九个宫格中每个宫格区域的中心作为该宫格区域的裁剪点。若试题图像中包括1个区块,也就是n=1,则九个宫格区域的裁剪点均是该区块的中心点。若试题图像中包括4个区块,也就是n=4,这4个区块分别是a区块、b区块、c区块、d区块,则需要从a区块、b区块、c区块、d区块中选择一个目标区块作为宫格区域的裁剪点,有九个宫格区域,一个宫格区域对应一个目标区块,一共选出9个目标区块,目标区块可以是a区块、b区块、c区块、d区块中任意一个区块;本申请实施例是根据a区块、b区块、c区块、d区块在试题图像中的位置以及当前区域的中心点来确定当前区域的目标区块,将目标区块的中心点作为当前区域的裁剪点。如果仅以区域的中心为中心点进行裁剪,有可能该区域中包含区块,但是区块位于区域的边缘;如果裁剪尺寸小于区块与中心点的距离时,有可能会裁到空白图像,空白图像对应的图像方向是无方向,但是真实情况是该区域是包含区块的,图像方向并不是无方向,有可能是0°,或90°,或180°,或270°。而本申请实施例正是考虑了试题图像中是否包括区块,当试题图像中不包含区块时,将当前区域的中心点作为当前区域的裁剪点;当试题图像中包含区块时,根据n个区块与当前区域的中心点之间的距离值确定当前区域的目标区块,以此得到的裁剪点一定有区块存在,避免出现试题图像中包含区块,选择的裁剪点却没有区块存在的情况;可以避免根据裁剪点裁剪得到的裁剪图像是空白图像,提高了图像方向的准确性。

可选的,在本申请的一种实施例中,根据n个区块在目标图像中的位置,计算n个区块与当前区域的中心点之间的距离,得到n个距离值;将n个距离值中最小值对应的区块作为当前区域的目标区块。

示例的,以试题图像划分为九宫格、确定左上角区域的目标区块为例进行说明,试题图像中包括a区块、b区块、c区块、d区块,分别计算a区块、b区块、c区块、d区块与左上角区域中心点之间的距离,可以得到a距离、b距离、c距离、d距离,若这四个距离中的最小值是a距离,则将a距离对应的a区块作为左上角区域的目标区块。本申请实施例将距离值中的最小值对应的区块作为目标区块,以目标区块的中心点为裁剪点,可以保证裁剪点处一定有区块存在,避免出现试题图像中包含区块,选择的裁剪点却不存在区块的情况;使得裁剪到的裁剪图像最大程度的包含区块,从而提高裁剪图像方向判断的结果。

可选的,在本申请的一种实施例中,裁剪图像为预设尺寸的图像,方法还包括:在根据裁剪点,按照预设尺寸进行裁剪时,若裁剪区域大于目标图像的边界,则在超出目标图像边界的裁剪区域中补入预设像素值。

根据裁剪点按照预设尺寸进行裁剪时,有可能出现预设尺寸大于图像边界的情况,例如裁剪点位于图像的边缘,当以预设尺寸进行裁剪时,会裁到图像之外的像素点。若裁剪区域大于目标图像的边界,一种可实现的方式中,将裁剪图像向内移动,确保裁剪图像能够包括裁剪点对应的区块即可;另一种可实现的方式中,在超出边界的裁剪区域中补入预设像素值。本申请实施例中预设像素值设为0,也就是补0操作,对裁剪时超出目标图像边界的部分进行补0操作,例如,左边超出目标图像边界100个像素点,将这100个像素点设为预设像素值0,如果左右都超出了目标图像边界,则都进行补0操作,超出目标图像边界的裁剪区域中补入预设像素值可以使裁剪图像的尺寸均为预设尺寸,有利于被第一图像方向分类模型识别,从而提高裁剪图像的图像方向判断的准确性。

实施例三

本申请实施例三提供另一种图像方向的确定方法,图3为本申请实施例提供的一种图像方向的确定方法的流程图,如图3所示,该方法包括以下步骤:

步骤201、对目标图像的连通域进行检测,得到n个区块,n为自然数。

步骤201与步骤101一致,在此不再赘述。

可选的,在本申请的一种实施例中,步骤201可以包括:对目标图像的连通域进行检测,得到k个区块,k为大于或等于n的整数;将k个区块中满足长宽比大于预设比值,和/或,面积大于k个区块的面积平均值的区块进行滤除,得到n个区块。

图像中不止包括文字部分,还可以包括横线、装订线、表格等非文字类部分,本申请通过设定滤除规则,一种可实现的方式中,将非文字类区域滤除,将满足长宽比大于预设比值的区块滤除,例如将长宽比大于5或小于0.2的区块滤除,正常文字类区块的连通域长宽比例在1左右,当连通域长宽大于5或小于0.2时,该连通域有可能是横线、装订线等划线;另一种可实现的方式中,将满足面积大于k个区块的面积平均值的区块滤除,当区块的面积大于k个区块的面积平均值时,该连通域有可能是表格等;再一种可实现的方式中,本申请将满足长宽比大于预设比值,和,面积大于k个区块的面积平均值的区块进行滤除,例如,连通域同时满足长宽比大于5,且面积大于k个区块的面积平均值,该连通域有可能是窄长型的表格等。根据设定的滤除规则对k个区块中的横线、装订线、表格等区块进行滤除,保留文字类区块,可以减少图像中表格或图形等非文字类区块,减少非文字类区块对判断图像方向时产生影响。

步骤202、根据第二图像方向分类模型和n个区块确定目标图像的第一图像方向。

其中,第一图像方向为0°、90°、180°、270°、无方向中的一项。

本申请实施例中的第二图像方向分类模型可以是vgg-16模型、alexnet模型、inception模型、lenet-5模型等卷积神经网络,对此本申请实施例不做限制。本申请实施例中的第一图像方向是指目标图像的图像方向,第一图像方向是为了与第二图像方向区别名称。

可选的,在本申请的一种实施例中,步骤202可以包括:将n个区块输入第二图像方向分类模型得到n个区块方向,一个区块对应一个区块方向,其中,区块方向为0°、90°、180°、270°、无方向中的一项;根据n个区块方向,分别统计0°、90°、180°、270°、无方向上的区块数量;将区块数量中最大值对应的区块方向作为第一图像方向。

本申请实施例将n个区块输入第二图像方向分类模型,可以得到n个区块方向,一个区块对应一个区块方向,区块方向可以是0°,或90°,或180°,或270°,或无方向,对每个方向上的区块数量进行统计,将区块数量中最大值对应的区块方向作为第一图像方向。

步骤203、根据n个区块分布在目标图像中的位置,确定m个裁剪点,m为正整数。

步骤203与步骤102一致,在此不再赘述。

步骤204、根据m个裁剪点,按照预设尺寸在目标图像中裁剪得到m个裁剪图像。

步骤204与步骤103一致,在此不再赘述。

步骤205、将m个裁剪图像输入第一图像方向分类模型,获得m个裁剪图像分别对应的图像方向,图像方向为0°、90°、180°、270°、无方向中的一项。

步骤205与步骤104一致,在此不再赘述。

其中,需要说明的是,步骤203-205和步骤202之间没有先后顺序,可以先执行步骤202,再执行步骤203-205,或者先执行步骤203-205,再执行步骤202,也可以同时执行步骤202和步骤203-205,对此申请实施例不做限制。

步骤206、根据第一图像方向和m个图像方向确定目标方向。

其中,目标方向为0°、90°、180°、270°、无方向中的一项。

一种可实现的方式中,将第一图像方向与m个图像方向合并在一起可以得到m+1个图像方向,通过统计0°、90°、180°、270°、无方向上图像方向的个数,将个数最多的对应的图像方向作为图像最终的方向,也就是目标方向。

另一种可实现的方式中,由于第一图像方向是根据n个区块确定的,其对判断图像方向时的贡献比较多,其所占的比重大,每个裁剪图像对应的图像方向所占的比重小,在统计0°、90°、180°、270°、无方向上图像方向的个数时,将第一图像方向对应的方向的个数乘以权重值,权重值可以根据实际情况进行设置,权重值用于平衡区块判定的图像方向与裁剪图像判定的图像方向的准确性。本申请实施例是根据剪裁图像的个数设置权重值,以m等于9为例进行说明,将图像划分九宫格区域,一个宫格区域对应一个剪裁图像,可以得到3×3个剪裁图像,将权重值设置为剪裁图像的个数除以3,也就是权重值为3,第一图像方向对应的权重值为3,m个图像方向对应的权重值均为1;或者,第一图像方向对应的权重值为0.3,m个图像方向对应的权重值均为0.1,对此本申请实施例不做限制,只要是第一图像方向对应的权重值大于m个图像方向对应的权重值即可。在此,列举一个具体的示例进行说明,第一图像方向是0°,9个图像方向分别是0°、90°、无方向、无方向、0°、90°、90°、无方向、无方向,统计0°、90°、180°、270°、无方向上图像方向的个数,可以得到0°方向上的图像个数为1×3+1+1,90°方向上的图像个数为1+1+1,无方向上的图像个数为1+1+1+1,在统计0°方向的图像个数时有一个数量乘以3,3即为第一图像方向对应的权重值;将图像个数最多的方向作为目标方向,也就是0°为图像的目标方向,该图像是正向,不需要旋转。

本申请实施例三根据第一图像方向、m个裁剪图像对应的m个图像方向,确定目标图像的目标方向,与实施例一中根据m个裁剪图像方向确定目标方向相比,实施例三不仅考虑m个裁剪图像的m个图像方向,还考虑了n个区块对判断图像方向时的贡献,提高了图像方向判断的准确性。

实施例四

在实施例一和实施例二中,图像方向是根据m个裁剪图像对应的m个图像方向确定的,在实施例三中,图像方向还包括第一图像方向,第一图像方向是根据n个区块对应的n个区块图像确定的。在本申请实施例四中,图像方向还包括第二图像方向,第二图像方向是根据缩放图像得到的。实施例四中确定的第二图像方向可以与上述任一实施例中的图像方向相结合,从而确定图像的目标方向,对此本申请实施例不做限制。

可选的,在本申请的一种实施例中,对目标图像进行缩放处理,得到缩放图像;将缩放图像输入第三图像方向分类模型中,得到缩放图像对应的第二图像方向。

本申请实施例中的第三图像方向分类模型可以是vgg-16模型、alexnet模型、inception模型、lenet-5模型等卷积神经网络,对此本申请实施例不做限制。本申请实施例中的第二图像方向是指缩放图像的图像方向,第二图像方向是为了与第一图像方向区别名称。

由于拍照设备各种各样,拍出的图像也各不相同,不仅是角度不同,其尺寸大小也不同,因此需要对目标图像的进行缩放处理,缩放图像的尺寸可以根据实际情况进行设置,使得缩放图像的尺寸能够被第三图像方向分类模型识别,输出缩放图像对应的第二图像方向。

当本申请实施例四与实施例一中的m个图像方向相结合时,也就是根据m个图像方向和第二图像方向确定目标方向。

可选的,将第二图像方向与m个图像方向合并在一起,可以得到m+1个图像方向,通过统计0°、90°、180°、270°、无方向上图像方向的个数,将图像个数最多的方向作为图像的目标方向。

当本申请实施例四与实施例一中的m个图像方向以及实施例三中的第一图像方向相结合时,也就是根据第一图像方向、m个图像方向和第二图像方向确定目标方向。在此,列举两种可实现的方式对此进行说明。

一种可实现方式中,将第一图像方向、第二图像方向和m个图像方向合并在一起,可以得到m+2个图像方向,通过统计0°、90°、180°、270°、无方向上图像方向的个数,将图像个数最多的方向作为图像的目标方向。

另一种可实现的方式中,根据第一图像方向、m个图像方向和第二图像方向,分别统计0°、90°、180°、270°、无方向上的图像数量;分别对0°、90°、180°、270°、无方向上的数量进行加权求和,得到五个权重指数;将五个权重指数中最大值对应的方向作为目标方向。

本申请实施例设置权重值,用于平衡区块判定的第一图像方向与裁剪图像判定的图像方向的准确性,第一图像方向对应的权重值大于m个图像方向对应的权重值,且第一图像方向对应的权重值大于第二图像方向对应的权重值,本申请实施例是根据剪裁图像的个数设置权重值,以m等于16为例进行说明,图像划分4×4个宫格区域,将第一图像方向对应的权重值设置为4,16个图像方向对应的权重值均为1,第二图像方向对应的权重值为1;或者,将第一图像方向对应的权重值设置为0.4,16个图像方向对应的权重值设置均为0.1,第二图像方向对应的权重值为0.1,对此本申请实施例不做限制。此外需要说明的是,16个图像方向对应的权重值也可以各不相同,本申请是以16个图像方向对应的权重值一致为例进行说明,并不代表本申请局限于此。

列举一个具体的示例进行说明,将图像划分为2×2个宫格,对各个方向上的数量进行加权求和,第一图像方向是180°,4个图像方向分别是90°、180°、无方向、无方向,第二图像方向是90°,统计0°、90°、180°、270°、无方向上图像方向的个数,第一图像方向对应的权重值为0.2,4个图像方向以及第二图像方向对应的权重值均为0.1,可以得到180°方向上的权重指数为1×0.2+1×0.1,90°方向上的权重指数为1×0.1+1×0.1,无方向上的权重指数为1×0.1+1×0.1,0°方向和270°方向上的权重指数均为0;将权重指数最大值的对应的图像方向作为目标方向,也就是180°作为图像的目标方向,该图像是倒向,需要将图像旋转180°,转正图像。

本申请实施例四根据n个区块确定的第一图像方向,以及m个裁剪图像对应的m个图像方向,以及缩放图像对应的第二图像方向确定目标图像的目标方向,与实施例一和实施例三相比,实施例四不仅考虑m个裁剪图像的m个图像方向,还考虑了n个区块对判断图像方向时的贡献,还考虑了缩放图像对判断图像方向时的贡献,提高了图像方向判断的准确性。

进一步的,本申请实施例对如何根据一张图像确定该图像方向进行示例性说明,可选的,如图4所示,图4为本申请实施例提供了一种检测图像方向的流程图。

步骤401、对获取的初始图像进行二值化,得到二值化图像;

步骤402、对二值化图像求连通域,得到至少一个区块;

步骤403、对区块进行处理,将长宽比大于预设比值,和/或,面积大于所有区块的面积平均值的区块滤除;

步骤404、将步骤402通过检测二值化图像得到的区块或者经过步骤403处理之后的区块输入分类模型,对区块进行方向分类;

步骤405、统计各方向上区块的个数;

步骤406、将区块个数最多的方向作为图像方向;

步骤407、根据处理之后的区块对图像进行裁剪,得到裁剪图像;

步骤408、将裁剪图像输入分类模型,对裁剪图像进行方向分类;

需要说明的是,在步骤403之后,在执行步骤404-406,或步骤407-408时,没有先后顺序,可以同时执行,也可以不分先后执行,对此本申请实施例不做限制。

步骤409、统计步骤406得到的图像方向以及步骤408得到的裁剪图像对应的图像方向的个数;

步骤410、将个数最多的方向作为图像的最终方向。

本申请实施例通过对图像进行二值化,得到二值化图像,检测二值化图像的连通域,得到至少一个区块,对区块进行处理,滤除横线、表格类的非文本区块,利用分类模型对区块方向进行分类,将区块个数最多的方向确定为图像方向,还根据区块对图像进行裁剪,利用分类模型确定裁剪图像对应的图像方向,最后根据区块确定的图像方向和裁剪图像对应的图像方向,确定图像最终的目标方向,不仅考虑了区块对判断图像方向时的贡献,还考虑裁剪图像对判断图像方向时的贡献,提高了图像方向判断的准确性。

实施例五

本申请实施例提供了一种图像方向的确定装置,如图5所示,图5为本申请实施例提供的一种图像方向的确定装置,装置50包括连通域检测模块501,裁剪点确定模块502,裁剪模块503,图像方向确定模块504,目标方向确定模块505;

连通域检测模块501用于对目标图像的连通域进行检测,得到n个区块,n为正整数;

裁剪点确定模块502用于根据n个区块分布在目标图像中的位置,确定m个裁剪点,m为正整数;

裁剪模块503用于根据m个裁剪点,按照预设尺寸在目标图像中裁剪得到m个裁剪图像;

图像方向确定模块504用于将m个裁剪图像输入第一图像方向分类模型,获得m个裁剪图像分别对应的图像方向,一个裁剪图像对应一个图像方向,图像方向为0°、90°、180°、270°、无方向中的一项;

目标方向确定模块505用于根据m个图像方向确定目标图像的目标方向,目标方向为0°、90°、180°、270°、无方向中的一项。

可选的,在本申请的一种实施例中,裁剪点确定模块502还用于将目标图像划分为m个区域;根据n个区块分布在目标图像中的位置,确定m个区域分别对应的裁剪点。

可选的,在本申请的一种实施例中,裁剪点确定模块502还用于当n>0时,根据n个区块与当前区域的中心点之间的距离值确定当前区域的目标区块,目标区块的中心点为当前区域的裁剪点;当n=0时,则当前区域的中心点为当前区域的裁剪点。

可选的,在本申请的一种实施例中,裁剪点确定模块502还用于根据n个区块在目标图像中的位置,计算n个区块与当前区域的中心点之间的距离,得到n个距离值;将n个距离值中最小值对应的区块作为当前区域的目标区块。

可选的,在本申请的一种实施例中,装置50还包括像素值补入模块,像素值补入模块用于在根据裁剪点,按照预设尺寸进行裁剪时,若裁剪区域大于目标图像的边界,则在超出目标图像边界的裁剪区域中补入预设像素值。

可选的,在本申请的一种实施例中,装置50还包括第一图像方向确定模块,第一图像方向确定模块用于根据第二图像方向分类模型和n个区块确定目标图像的第一图像方向,其中,第一图像方向为0°、90°、180°、270°、无方向中的一项;目标方向确定模块505还用于根据第一图像方向和m个图像方向确定目标方向。

可选的,在本申请的一种实施例中,装置50还包括第二图像方向确定模块,第二图像方向确定模块用于对目标图像进行缩放处理,得到缩放图像;将缩放图像输入第三图像方向分类模型中,得到缩放图像对应的第二图像方向;目标方向确定模块505还用于根据m个图像方向和第二图像方向确定目标方向。

可选的,在本申请的一种实施例中,目标方向确定模块505还用于根据第一图像方向、m个图像方向和第二图像方向确定目标方向。

可选的,在本申请的一种实施例中,目标方向确定模块505还用于根据第一图像方向、m个图像方向和第二图像方向,分别统计0°、90°、180°、270°、无方向上的图像数量;分别对0°、90°、180°、270°、无方向上的数量进行加权求和,得到五个权重指数;将五个权重指数中最大值对应的方向作为目标方向。

可选的,在本申请的一种实施例中,第一图像方向确定模块还用于将n个区块输入第二图像方向分类模型得到n个区块方向,一个区块对应一个区块方向,其中,区块方向为0°、90°、180°、270°、无方向中的一项;根据n个区块方向,分别统计0°、90°、180°、270°、无方向上的区块数量;将区块数量中最大值对应的区块方向作为第一图像方向。

可选的,在本申请的一种实施例中,连通域检测模块501还用于对目标图像的连通域进行检测,得到k个区块,k为大于或等于n的整数;将k个区块中满足长宽比大于预设比值,和/或,面积大于k个区块的面积平均值的区块进行滤除,得到n个区块。

可选的,在本申请的一种实施例中,连通域检测模块501还用于对目标图像进行二值化,得到二值化图像;对二值化图像进行连通域检测,得到n个区块。

实施例六

基于上述实施例一至实施例四描述的任一项图像方向的确定方法,本申请实施例提供了一种电子设备,需要说明的,本实施例的图像方向的确定方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如手机、pad等)和pc机等。如图6所示,图6为本申请实施例提供的一种电子设备的结构图。本申请具体实施例并不对电子设备的具体实现做限定。该电子设备可以包括:处理器(processor)602、通信接口(communicationsinterface)604、存储器(memory)606、以及通信总线608。

其中:处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。

通信接口604,用于与其它电子设备或服务器进行通信。

处理器602,用于执行计算机程序610,具体可以执行上述图像方向的确定方法实施例中的相关步骤。

具体地,计算机程序610可以包括计算机程序代码,该计算机程序代码包括计算机操作指令。

处理器602可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器606,用于存放计算机程序610。存储器606可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

计算机程序610具体可以用于使得处理器602执行以下操作:

在一种可选的实施方式中,计算机程序610还用于使得处理器602在计算机程序610中各步骤的具体实现可以参见上述图像方向的确定方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。

实施例七

基于上述实施例一至实施例四所描述的图像方向的确定方法,本申请实施例提供了一种计算机存储介质,其存储有计算机程序,该计算机程序被处理器执行时实现如实施例一至实施例四所描述的方法。

需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。

上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cdrom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的图像方向的确定方法。此外,当通用计算机访问用于实现在此示出的图像方向的确定方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的图像方向的确定方法的专用计算机。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1