本发明涉及图像处理技术领域,具体涉及一种图像校正方法、装置和存储介质。
背景技术:
随着终端技术的发展,移动终端已经开始从以前简单地提供通话设备渐渐变成一个通用软件运行的平台。该平台不再以提供通话管理为主要目的,而是提供一个包括通话管理、游戏娱乐、办公记事、移动支付等各类应用程序在内的运行环境,随着大量的普及,已经深入至人们的生活、工作的方方面面。
目前图像处理应用程序的应用越来越广泛,用户可以在终端上安装图像处理应用,并通过图像处理应用可以对图像进行处理如图像校正等。比如,在拍摄图像后图像处理应用可以对拍摄的畸变图像进行透视校正,
然而,目前图像校正方式需要在拍摄图像后,由用户手动输入一定的校正参数从而实现对拍摄的图像进行校正处理。因此,图像校正的效率较低。
技术实现要素:
本发明实施例提供一种图像校正方法、装置和存储介质,可以提升图像校正的效率。
本发明实施例提供一种图像校正方法,包括:
获取待校正图像;
对所述待校正图像中物体进行边缘检测,得到所述物体的轮廓图像;
在所述轮廓图像中检测相应的物体边缘线段;
根据所述物体边缘线段的起始点、终点在所述轮廓图像中的当前位置信息,获取所述物体边缘线段位于预设方向时所述起始点、所述终点的目标位置信息;
根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,对所述待校正图像进行图像校正处理,得到校正后的图像。
相应的,本发明实施例还提供了一种图像拍摄装置,包括:
图像获取单元,用于获取待校正图像;
边缘检测单元,用于对所述待校正图像中所述物体进行边缘检测,得到所述物体的轮廓图像;
线段检测单元,用于在所述轮廓图像中检测相应的物体边缘线段;
位置获取单元,用于根据所述物体边缘线段的起始点、终点在所述轮廓图像中的当前位置信息,获取所述物体边缘线段位于预设方向时所述起始点、所述终点的目标位置信息;
校正处理单元,用于根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,对所述待校正图像进行图像校正处理,得到校正后的图像。
相应的,本发明实施例还提供一种存储介质,所述存储介质存储有指令,所述指令被处理器执行时实现本发明实施例任一提供的图像校正方法。
本发明实施例获取待校正图像;对待校正图像中物体进行边缘检测,得到物体的轮廓图像;在轮廓图像中检测相应的物体边缘线段;根据物体边缘线段的起始点、终点在轮廓图像中的当前位置信息,获取物体边缘线段位于预设方向时起始点、终点的目标位置信息;根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,对待校正图像进行图像校正处理,得到校正后的图像。该方案可以对图像自动进行校正,无需手动输入任何信息,提升了图像校正的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的信息交互系统的场景示意图;
图1b是本发明实施例提供的图像校正方法的流程示意图;
图1c是本发明实施例提供的畸变图像示意图;
图1d是本发明实施例提供的轮廓图像示意图;
图1e是本发明实施例提供的边缘线示意图;
图1f是本发明实施例提供的边缘线位置计算示意图;
图1g是本发明实施例提供的透视变换示意图;
图2是本发明实施例提供的图像校正方法的另一流程示意图;
图3a是本发明实施例提供的图像校正装置的第一种结构示意图;
图3b是本发明实施例提供的图像校正装置的第二种结构示意图;
图3c是本发明实施例提供的图像校正装置的第三种结构示意图;
图3d是本发明实施例提供的图像校正装置的第四种结构示意图;
图4是本发明实施例提供的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种信息交互系统,该系统包括本发明实施例任一提供的图像拍摄装置,该图像拍摄装置可以集成在终端中,该终端可以为手机、平板电脑等设备此外,该系统还可以包括其他设备,比如,服务器等。
参考图1a,本发明实施例提供了一种信息交互系统,包括:终端10和服务器20,终端10与服务器20通过网络30连接。其中,网络30中包括路由器、网关等等网络实体,图中并为示意出。终端10可以通过有线网络或无线网络与服务器20进行信息交互,比如可以从服务器20下载应用(如图像应用)和/或应用更新数据包和/或与应用相关的数据信息或业务信息。其中,终端10可以为手机、平板电脑、笔记本电脑等设备,图1a是以终端10为手机为例。该终端10中可以安装有各种用户所需的应用,比如具备娱乐功能的应用(如图像处理应用,音频播放应用,游戏应用,阅读软件),又如具备服务功能的应用(如地图导航应用、团购应用等)。
基于上述图1a所示的系统,以图像应用为例,终端10通过网络30从服务器20中按照需下载求图像应用和/或图像应用更新数据包和/或与图像应用相关的数据信息或业务信息(如图像信息)。采用本发明实施例,终端10可以获取待校正图像;对待校正图像中物体进行边缘检测,得到物体的轮廓图像;在轮廓图像中检测相应的物体边缘线段;根据物体边缘线段的起始点、终点在轮廓图像中的当前位置信息,获取物体边缘线段位于预设方向时起始点、终点的目标位置信息;根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,对待校正图像进行图像校正处理,得到校正后的图像。
上述图1a的例子只是实现本发明实施例的一个系统架构实例,本发明实施例并不限于上述图1a所示的系统结构,基于该系统架构,提出本发明各个实施例。
在一实施例中,提供了一种图像校正方法,可以由终端的处理器执行,如图1b所示,该图像校正方法包括:
101、获取待校正图像。
本发明实施例的图像校正是对物体发生畸变(如透视畸变、或透视失真)的图像进行修正,使得图像中的物体恢复正常。比如,某个图像中的物体发生倾斜时,通过图像校正可以使得图像中的物体恢复到正常位置。
其中,待校正图像为需要校正的图像,该图像可以包括拍摄得到的图像,比如,拍摄后存储在终端中的图像;也即,本发明实施例图像校正方法可以适用于图像的后期校正。
该图像也可以包括拍摄过程中的实景图像,比如,在图像拍摄过程中终端通过摄像头实时采集到的物体实景图像,也即,本发明实施例图像校正方法可以适用于拍摄过程中的实时图像校正。
具体地,可以接收图像校正请求,并根据图像校正请求实时采集物体的实景图像。该实景图像即为待校正图像。
比如,可以根据图像校正请求调用摄像头采集物体的实景图像。
其中,物体可以包括建筑物、交通工具等物体,在一实施例中,还可以为人、宠物等。
本实施例中,图像校正请求可以由用户触发,比如,可以在图像拍摄界面设置一图像校正接口,后续用户便可以通过该图像校正接口来触发相应的图像校正请求,此时,便会对该图像校正请求进行接收。
其中,图像校正接口的表现形式有多种,比如,按钮、输入框等。
例如,在图像拍摄界面可以设置“图像校正拍摄”模式按钮,当用户点击该按钮时便会触发发送图像校正请求,此时,可以根据该请求调用摄像头实时采集物体的实景图像。
102、对待校正图像中物体进行边缘检测,得到物体的轮廓图像。
其中,物体边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点,以便检测物体的边缘。在对图像中物体进行边缘检测后便可以得到物体的轮廓图。
其中,边缘检测算法可以有多种,比如,可以基于亮度的一阶导数或者二级导数来检测图像中物体的边缘。边缘检测大致包括如步骤:
滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折中。
增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。边缘增强一般是通过计算梯度幅值来完成的。
检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判据是梯度幅值阈值判据。
定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。在边缘检测算法中,前三个步骤用得十分普遍。这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向。
边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。可以将边缘定义为图像中灰度发生急剧变化的区域边界。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此可以用局部图像微分技术来获得边缘检测算子。经典的边缘检测方法,是通过对原始图像中像素的某小邻域构造边缘检测算子来达到检测边缘这一目的的。
边缘检测算子可以包括:一阶算子,如Roberts Cross算子,Prewitt算子,Sobel算子,Kirsch算子,罗盘算子;还可以包括二阶算子:Marr-Hildreth,在梯度方向的二阶导数过零点,Canny算子,Laplacian算子。
为了提升边缘检测的准确性,本申请实施例可以通过Canny算子的边缘检测算法来检测物体边缘。
例如,采集到如图1c所示的建筑物图像,由于透视畸变,图中的建筑物呈现“歪斜”,本申请实施例的目的是为了实现在不经人工干预的情况下,使用算法自动进行图片的校正。然后,可以对图1c所示的建筑物图像进行边缘检测,可以得到该建筑物的轮廓图,如图1d所示。
103、在轮廓图像中检测相应的物体边缘线段。
其中,检测何种方向上的物体边缘线段可以根据实际校正需求设定。在一实施例中,可以在轮廓图像中检测物体畸变方向对应的物体边缘线段。其中,物体畸变方向为图像中物体发生畸变(如透视畸变、或透视失真)的方向,该方向可以包括:竖直方向、水平方向等。比如,参考图1c,该建筑物发生畸变的方向为竖直方向。
其中,畸变方向与物体边缘线段的对应关系如下:
当图像中物体发生畸变的方向为竖直方向时,检测轮廓图像中检测到物体最左边的边缘线段、物体最右边的边缘线段。
比如,参考图1e,当图像中物体在竖直方向发生畸变时,可以在轮廓图像中检测到物体最左边的边缘线段AB、物体最右边的边缘线段CD。
当图像中物体发生畸变的方向为水平方向时,检测轮廓图像中检测到物体最上边的边缘线段、物体最下边的边缘线段。
在一实施例中,可以基于霍夫变换(Hough Transform)直线检测算法来检测物体边缘线段。
霍夫变换是图像变换中的手段之一,主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。霍夫变换寻找直线与圆的方法相比与其它方法可以更好的减少噪声干扰。经典的霍夫变换常用来检测直线,圆,椭圆等。
霍夫变换直线检测过程包括:
将图像中每个像素坐标点经过变换都变成都直线特质有贡献的统一度量,比如:一条直线在图像中是一系列离散点的集合,通过一个直线的离散极坐标公式,可以表达出直线的离散点几何等式如下:
X*cos(theta)+y*sin(theta)=r其中角度theta指r与X轴之间的夹角,r为到直线几何垂直距离。任何在直线上点,x,y都可以表达,其中r,theta是常量。
然而在实现的图像处理领域,图像的像素坐标P(x,y)是已知的,而r,theta则是要寻找的变量。如果能绘制每个(r,theta)值根据像素点坐标P(x,y)值的话,那么就从图像笛卡尔坐标系统转换到极坐标霍夫空间系统,这种从点到曲线的变换称为直线的霍夫变换。变换通过量化霍夫参数空间为有限个值间隔等分或者累加格子。当霍夫变换算法开始,每个像素坐标点P(x,y)被转换到(r,theta)的曲线点上面,累加到对应的格子数据点,当一个波峰出现时候,说明有直线存在。
104、根据物体边缘线段的起始点、终点在轮廓图像中的当前位置信息,获取物体边缘线段位于预设方向时起始点、终点的目标位置信息。
具体地,可以在轮廓图像建立二维坐标系,获取物体边缘线段的起始点在图像中的当前坐标值。
比如,以物体最左边的边缘线段AB为例。可以获取起点A的当前坐标值(x1,y1)、终点B的当前坐标值(x2,y2)。然后,基于A点和B点的当前坐标值获取边缘线段AB位于预设方向时A’点和B’点的坐标值。
其中,起始点、终点的目标位置信息指的是:物体边缘线段以起点为圆心、线段长度为半径旋转到预设方向时起点和终点的位置信息。也即,物体边缘线段在不发生畸变或不失真或者校正后情况下的起始点位置信息。
其中,预设方向可以包括竖直方向、或者水平方向。
比如,参考图1f,以预设方向为竖直方向为例,物体边缘线段AB位于竖直方向时起点A、终点B的坐标值为:物体边缘线段AB以起点A为圆心,AB长度为半径旋转到竖直方向时A’点的坐标值、B’的坐标值,其中,A’=A。
在一实施例中,可以根据物体边缘线段的起点、终点在轮廓图像中的位置信息,获取边缘线段的长度;然后,根据长度以及物体边缘线段的起点、终点在轮廓图像中的当前位置信息,获取物体边缘线段位于预设方向时起始点、终点的目标位置信息。
比如,参考图1f,以预设方向为竖直方向为例,获取起点A的当前坐标值(x1,y1)、终点B的当前坐标值(x2,y2)、AB的长度d,然后,根据(x1,y1)、(x2,y2)和长度d计算出A’(x1,y1)和B’的坐标值(x2’,y2’)。在已知(x1,y1)、(x2,y2)和长度d的情况下,可以通过几何运算计算出B’的坐标值(x2’,y2’)。
105、根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,对待校正图像进行图像校正处理,得到校正后的图像。
比如,以线段AB为例,获取到A(x1,y1)、A’(x1,y1)、B(x2,y2)、B’(x2’,y2’)之后,可以基于这四个坐标值对待校正图像进行图像校正处理。
比如,可以基于起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息对待校正图像进行透视校正。如可以对图1c所示的透视畸变图像进行透视校正,得到如图1g所示的图像。图1c原本建筑物在竖直方向上发生倾斜,经过透视校正后图像中建筑物恢复正常,即建筑物的竖直边缘线均显示在竖直方向上。
其中,透视校正或者称为透视控制是对照片进行合成或者编辑以得到符合大众对于透视失真理解的结果的过程。
在一实施例中,步骤“根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,对待校正图像进行图像校正处理”可以包括:
根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,生成图像校正算法对应的校正参数;
根据校正参数和图像校正算法对待校正图像进行图像校正处理。
比如,可以根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息生产透视校正算法的透视校正参数,然后,基于透视校正参数和透视校正算法进行透视校正处理。
在一实施例中,图像校正算法可以包括透视变换算法,在对图像进行透视变换时需要计算出透视变换矩阵,然后,可以基于透视变换矩阵和透视变换算法对图像进行透视变换,以达到图像校正。也即,步骤“根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,生成图像校正算法对应的校正参数”,可以包括:
根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,获取透视变换算法的透视变换矩阵;
步骤“根据校正参数和图像校正算法对待校正图像进行图像校正处理”,可以包括:
根据透视变换算法以及透视变换矩阵对待校正图像进行透视变换。
例如,以线段AB为例,获取到A(x1,y1)、A’(x1,y1)、B(x2,y2)、B’(x2’,y2’)之后,可以根据这个坐标值计算出透视变换矩阵,然后,基于该矩阵和透视变换算法对图像进行透视变换。
其中,透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping)。透视变换(Perspective Transformation)是指利用透视中心、像点、目标点三点共线的条件,按透视旋转定律使承影面(透视面)绕迹线(透视轴)旋转某一角度,破坏原有的投影光线束,仍能保持承影面上投影几何图形不变的变换。
透视变换算法主要用到两个函数WarpPerspective和GetPerspectiveTransform:
GetPerspectiveTransform函数用于根据输入的坐标值获取透视变换矩阵;GetPerspectiveTransform输入原始图像和变换之后的图像的对应4个点,便可以得到变换矩阵。
比如,在输入A(x1,y1)、A’(x1,y1)、B(x2,y2)、B’(x2’,y2’)之后便可以通过GetPerspectiveTransform函数计算出透视变换矩阵。
WarpPerspectiv函数用于基于透视变换矩阵对图像进行透视变换,也即变形。
本发明实施例可以直接基于起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息进行图像校正。但是,在一些场景中,由于图像校正算法的输入不一样如一些算法需要输入畸变信息或偏离信息等,因此,在一实施例中还可以基于起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息获取相应的参数,以满足算法的需求,提升图像校正的灵活性。
比如,在一实施例中,可以根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,获取物体边缘线段偏离预设方向的偏离参数;然后,根据偏离参数对待校正图像进行图像校正处理。
其中,偏离参数可以包括偏离角度、偏离距离等等。
譬如,可以在获取偏离参数后,可以基于偏离参数获取透视校正算法的校正参数,根据透视校正算法及其校正参数对待校正图像进行图像校正处理。
以偏离参数为偏离角度为例,在获取A(x1,y1)、A’(x1,y1)、B(x2,y2)、B’(x2’,y2’)后,便可以计算出AB与A’B’之间的夹角,也即边缘线段AB的倾斜角。具体地,可以通过一些几何运算来得到。
由上可知,本发明实施例获取待校正图像;对待校正图像中物体进行边缘检测,得到物体的轮廓图像;在轮廓图像中检测相应的物体边缘线段;根据物体边缘线段的起始点、终点在轮廓图像中的当前位置信息,获取物体边缘线段位于预设方向时起始点、终点的目标位置信息;根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,对待校正图像进行图像校正处理,得到校正后的图像。该方案可以对图像自动进行校正,无需手动输入任何信息,提升了图像校正的效率,大大提升了用户拍摄体验。
此外,利用本发明实施例校正方案对图像进行校正,相比目前的校正方案还可以提升图像校正的精确性。
在一实施例,根据上述所描述的方法,以校正拍摄过程的实景图像为例对本发明提供的图像校正方法进一步详细说明。
如图2所示,一种图像校正方法,具体流程如下:
201、终端接收图像校正请求,并根据图像校正请求调用摄像头实时采集物体的实景图像。
其中,物体可以包括建筑物、交通工具等物体,在一实施例中,还可以为人、宠物等。
本实施例中,图像校正请求可以由用户触发,比如,可以在图像拍摄界面设置一图像校正接口,后续用户便可以通过该图像校正接口来触发相应的图像校正请求,此时,便会对该图像校正请求进行接收。
例如,在图像拍摄界面可以设置“图像校正拍摄”模式按钮,当用户点击该按钮时便会触发发送图像校正请求,此时,可以根据该请求调用摄像头实时采集物体的实景图像。
202、终端对实景图像中物体进行边缘检测,得到物体的轮廓图像。
其中,物体边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点,以便检测物体的边缘。在对图像中物体进行边缘检测后便可以得到物体的轮廓图。
比如,可以基于过Canny算子的边缘检测算法对实景图像中物体进行边缘检测。
例如,采集到如图1c所示的建筑物图像,由于透视畸变,图中的建筑物呈现“歪斜”,本申请实施例的目的是为了实现在不经人工干预的情况下,使用算法自动进行图片的校正。然后,可以对图1c所示的建筑物图像进行边缘检测,可以得到该建筑物的轮廓图,如图1d所示。
203、终端在轮廓图像中检测与物体畸变方向对应的物体边缘线段。
比如,可以基于霍夫变换(Hough Transform)直线检测算法来检测物体边缘线段。
其中,物体畸变方向为图像中物体发生畸变(如透视畸变、或透视失真)的方向,该方向可以包括:竖直方向、水平方向等。比如,参考图1c,该建筑物发生畸变的方向为竖直方向。
其中,畸变方向与物体边缘线段的对应关系如下:
当图像中物体发生畸变的方向为竖直方向时,检测轮廓图像中检测到物体最左边的边缘线段、物体最右边的边缘线段。
比如,参考图1e,当图像中物体在竖直方向发生畸变时,可以在轮廓图像中检测到物体最左边的边缘线段AB、物体最右边的边缘线段CD。
当图像中物体发生畸变的方向为水平方向时,检测轮廓图像中检测到物体最上边的边缘线段、物体最下边的边缘线段。
204、终端根据物体边缘线段的起始点、终点在轮廓图像中的当前位置信息,获取物体边缘线段位于预设方向时起始点、终点的目标位置信息。
比如,以物体最左边的边缘线段AB为例。可以获取起点A的当前坐标值(x1,y1)、终点B的当前坐标值(x2,y2)。然后,基于A点和B点的当前坐标值获取边缘线段AB位于预设方向时A’点和B’点的坐标值。
其中,起始点、终点的目标位置信息指的是:物体边缘线段以起点为圆心、线段长度为半径旋转到预设方向时起点和终点的位置信息。也即,物体边缘线段在不发生畸变或失真或者校正后情况下的起始点位置信息。
比如,参考图1f,以预设方向为竖直方向为例,物体边缘线段AB位于竖直方向时起点A、终点B的坐标值为:物体边缘线段AB以起点A为圆心,AB长度为半径旋转到竖直方向时A’点的坐标值、B’的坐标值,其中,A’=A。
205、终端根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,获取透视变换算法的透视变换矩阵。
比如调用GetPerspectiveTransform函数,根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,获取透视变换算法的透视变换矩阵。
206、终端根据透视变换算法以及透视变换矩阵对实景图像进行透视变换,得到变换后的图像。
比如,调用WarpPerspectiv函数根据透视变换矩阵对实景图像进行透视变换。
由上可知,本发明实施例接收图像校正请求,并根据图像校正请求实时采集物体的实景图像;对实景图像中物体进行边缘检测,得到物体的轮廓图像;在轮廓图像中检测相应的物体边缘线段;根据物体边缘线段的起始点、终点在轮廓图像中的当前位置信息,获取物体边缘线段位于预设方向时起始点、终点的目标位置信息;根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,对实景图像进行图像校正处理。该方案可以对采集到图像自动进行图像校正,无需手动输入任何信息,提升了图像校正的效率,大大提升了用户拍摄体验。
此外,利用本发明实施例校正方案对图像进行校正,相比目前的校正方案还可以提升图像校正的精确性。
为了便于更好的实施本发明实施例提供的图像校正方法,在一实施例中还提供了一种图片校正装置。其中名词的含义与上述对象选择方法中相同,具体实现细节可以参考方法实施例中的说明。
在一实施例中,还提供了一种图像校正装置,如图3a所示,该图像校正装置以包括:图像获取单元301、边缘检测单元302、线段检测单元303、位置获取单元304以及校正处理单元305;
图像获取单元301,用于获取待校正图像;
边缘检测单元302,用于对所述待校正图像中所述物体进行边缘检测,得到所述物体的轮廓图像;
线段检测单元303,用于在所述轮廓图像中检测相应的物体边缘线段;
位置获取单元304,用于根据所述物体边缘线段的起始点、终点在所述轮廓图像中的当前位置信息,获取所述物体边缘线段位于预设方向时所述起始点、所述终点的目标位置信息;
校正处理单元305,用于根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,对所述待校正图像进行图像校正处理,得到校正后的图像。
在一实施例中,图像获取单元301,可以用于接收图像校正请求,并根据图像校正请求实时采集物体的实景图像。
在一实施例中,参考图3b,所述位置获取单元304,可以包括:
长度获取子单元3041,用于根据所述物体边缘线段的起点、终点在所述轮廓图像中的位置信息,获取所述边缘线段的长度;
位置获取子单元3042,用于根据所述长度以及所述物体边缘线段的起点、终点在所述轮廓图像中的当前位置信息,获取所述物体边缘线段位于预设方向时所述起始点、所述终点的目标位置信息。
在一实施例中,参考图3c,校正处理单元305可以包括:
参数获取子单元3051,用于根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,获取所述物体边缘线段偏离所述预设方向的偏离参数;
校正处理子单元3052,用于根据所述偏离参数对所述待校正图像进行图像校正处理。
在一实施例中,校正处理子单元3052,可以具体用于:
根据所述偏离参数获取透视校正算法的校正参数;
根据所述透视校正算法及其所述校正参数对所述待校正图像进行图像校正处理。
在一实施例中,校正处理单元305,可以用于:
根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,生成图像校正算法对应的校正参数;
根据所述校正参数和所述图像校正算法对所述待校正图像进行图像校正处理。
在一实施例中,参考图3d,校正处理单元305可以包括:
矩阵获取子单元3053,用于根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,获取透视变换算法的透视变换矩阵;
透视变换子单元3054,用于根据透视变换算法以及所述透视变换矩阵对所述待校正图像进行透视变换。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
该图像校正装置具体可以集成终端,比如以客户端的形式集成在终端中,该终端可以为手机、平板电脑等设备。
由上可知,本发明实施例图像校正装置采用图像获取单元301获取待校正图像;由边缘检测单元302对待校正图像中物体进行边缘检测,得到物体的轮廓图像;由线段检测单元303在轮廓图像中检测相应的物体边缘线段;由位置获取单元304根据物体边缘线段的起始点、终点在轮廓图像中的当前位置信息,获取物体边缘线段位于预设方向时起始点、终点的目标位置信息;由校正处理单元305根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,对待校正图像进行图像校正处理,得到校正后的图像。该方案可以对图像自动进行校正,无需手动输入任何信息,提升了图像校正的效率。
在一实施例中,为了更好地实施以上方法,本发明实施例还提供了一种终端,该终端可以为手机、平板电脑等设备。
参考图4,本发明实施例提供了一种终端400,可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、射频(Radio Frequency,RF)电路403、电源404、输入单元405、以及显示单元406等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。
RF电路403可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器401处理;另外,将涉及上行的数据发送给基站。
终端还包括给各个部件供电的电源404(比如电池),优选的,电源可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源404还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该终端还可包括输入单元405,该输入单元405可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该终端还可包括显示单元406,该显示单元406可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元408可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。
具体在本实施例中,终端中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取待校正图像;对所述待校正图像中所述物体进行边缘检测,得到所述物体的轮廓图像;在所述轮廓图像中检测相应的物体边缘线段;根据所述物体边缘线段的起始点、终点在所述轮廓图像中的当前位置信息,获取所述物体边缘线段位于预设方向时所述起始点、所述终点的目标位置信息;根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,对所述待校正图像进行图像校正处理,得到校正后的图像。
在一实施例中,在根据所述物体边缘线段的起始点、终点在所述轮廓图像中的当前位置信息,获取所述物体边缘线段位于预设方向时所述起始点、所述终点的目标位置信息时,处理器401可以具体执行以下步骤:
根据所述物体边缘线段的起点、终点在所述轮廓图像中的位置信息,获取所述边缘线段的长度;
根据所述长度以及所述物体边缘线段的起点、终点在所述轮廓图像中的当前位置信息,获取所述物体边缘线段位于预设方向时所述起始点、所述终点的目标位置信息。
在一实施例中,在根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,对所述待校正图像进行图像校正处理时,处理器401可以具体执行以下步骤:
根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,获取所述物体边缘线段偏离所述预设方向的偏离参数;
根据所述偏离参数对所述待校正图像进行图像校正处理。
在一实施例中,当根据所述偏离参数对所述待校正图像进行图像校正处理时,处理器401可以具体执行以下步骤:
根据所述偏离参数获取透视校正算法的校正参数;
根据所述透视校正算法及其所述校正参数对所述待校正图像进行图像校正处理。
在一实施例中,在根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,对所述待校正图像进行图像校正处理时,处理器401可以具体执行以下步骤:
根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,生成图像校正算法对应的校正参数;
根据所述校正参数和所述图像校正算法对所述待校正图像进行图像校正处理。
在一实施例中,当根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,生成图像校正算法对应的校正参数时;处理器401可以具体执行以下步骤:
根据所述起始点的当前位置信息、所述起始点的目标位置信息、所述终点的当前位置信息以及所述终点的目标位置信息,获取透视变换算法的透视变换矩阵;
此时,在查根据所述校正参数和所述图像校正算法对所述待校正图像进行图像校正处理,处理器401可以具体执行以下步骤:
根据透视变换算法以及所述透视变换矩阵对所述待校正图像进行透视变换。
由上可知,本发明实施例终端获取待校正图像;对待校正图像中物体进行边缘检测,得到物体的轮廓图像;在轮廓图像中检测相应的物体边缘线段;根据物体边缘线段的起始点、终点在轮廓图像中的当前位置信息,获取物体边缘线段位于预设方向时起始点、终点的目标位置信息;根据起始点的当前位置信息、起始点的目标位置信息、终点的当前位置信息以及终点的目标位置信息,对待校正图像进行图像校正处理。该方案可以对图像自动进行图像校正,无需手动输入任何信息,提升了图像校正的效率。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种图像校正方法、装置和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。