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

一种图像畸变校正方法、系统、电子设备及存储介质与流程

2022-04-06 15:07:46 来源:中国专利 TAG:


1.本技术涉及图像处理技术领域,具体而言,涉及一种图像畸变校正方法、系统、电子设备及存储介质。


背景技术:

2.由于镜头的光学性质,相机拍摄的图像不可避免得存在镜头畸变。其中广角镜头、变焦镜头等,在远距镜头容易造成严重的畸变,在图像的边缘畸变尤其明显,这对成像质量是不利的。因此,在图像处理流程中,一般会采用gdc(geometry distortion correction,几何畸变矫正)模块来对图像从中心到边缘来进行矫正的图像处理。
3.对图像畸变矫正首先需要标定,即拍摄横平竖直的矫正图,通过已知横平竖直的线(由于畸变实际拍摄得到的图不再是横平竖直)就可以推算出图像边缘畸变前的位置。再通过图像畸变模型的参数化拟合,就能得到图像上每一个点的在没有畸变时(理想镜头下)的位置。有了标定结果,在可以通过在理想位置下的插值来得到畸变矫正后的图像。
4.但是,采用一般的gdc算法进行畸变矫正时,由于图像畸变的非一致性,在对图像进行在理想位置下插值过程中,无法保证图像的画质,在畸变较大的边缘处会产生图像插值的混叠,以及矫正后图像存在的不均匀感。


技术实现要素:

5.本技术实施例的目的在于提供一种图像畸变校正方法、系统、电子设备及存储介质,用以解决现有技术采用一般的gdc算法进行畸变矫正时,在对图像进行在理想位置下插值过程中,无法保证图像的画质,在畸变较大的边缘处会产生图像插值的混叠,以及矫正后图像存在的不均匀感的问题。
6.本技术实施例提供的一种图像畸变校正方法,包括:
7.利用标定的相机内部参数矫正原始图像,得到包含标定的标定图像,获取标定图像中各个像素点坐标相对于原始图像中像素点坐标的偏移值;
8.对标定图像中每一个像素位置,根据像素位置的像素邻域的偏移值,得到像素位置的畸变程度;
9.对标定图像中每一个像素位置,根据畸变程度,抽取不同个数的像素邻域点;其中,畸变程度越高,抽取的像素邻域点的数量越大;以及
10.对标定图像中每一个像素位置,根据预设权重函数,计算多个像素邻域点的权重和并归一化,得到像素位置的像素值并进行插值,并获得插值后的图像。
11.上述技术方案中,首先对原始图像进行标定,获取畸变前每个像素的位置,根据像素位置的像素邻域的偏移确定该像素位置的畸变程度,根据畸变程度自适应地连续调整滤波器半径,即畸变程度越高,抽取的像素邻域点的数量越大,通过这些像素领域点计算像素值,根据图像畸变的不同,滤波器半径随之变化,可以有效的抗混叠,并且滤波器的半径是自适应得连续变化,不会造成矫正后图像的不均匀感,从而提升了校正后图像的画质。
12.在一些可选的实施方式中,根据像素位置的像素邻域的偏移值,得到像素位置的畸变程度,包括:
13.获取像素位置的左上、左下、右上和右下的像素邻域点;
14.计算像素邻域偏移前后左上像素邻域点与右下像素邻域点之间距离的第一变化率;
15.计算像素邻域偏移前后右上像素邻域点与左下像素邻域点之间距离的第二变化率;以及
16.根据第一变化率和第二变化率,得到畸变程度。
17.上述技术方案中,对每一需要被插值的像素位置,根据该像素位置的左上、左下、右上和右下的像素邻域点之间的距离变化来确定像素位置的畸变程度,能够从多个方向上的畸变来综合评估畸变程度。
18.在一些可选的实施方式中,畸变程度为第一变化率与第二变化率之和;
19.其中,第一变化率为像素邻域偏移前后左上像素邻域与右下像素邻域之间距离的比值减1,第二变化率为像素邻域偏移前后右上像素邻域与左下像素邻域之间距离的比值减1。
20.上述技术方案中,第一变化率和第二变化率分别是偏移前后两个点之间距离的比值减1,将畸变程度设置为第一变化率和第二变化率之和,适用于畸变主要发生在一个方向上的畸变程度评估。
21.在一些可选的实施方式中,畸变程度为第一变化率与第二变化率之积;
22.其中,第一变化率为像素邻域偏移前后左上像素邻域与右下像素邻域之间距离的比值减1,第二变化率为像素邻域偏移前后右上像素邻域与左下像素邻域之间距离的比值减1。
23.上述技术方案中,第一变化率和第二变化率分别是偏移前后两个点之间距离的比值减1,将畸变程度设置为第一变化率和第二变化率之积,适用于畸变发生在不止一个方向上的畸变程度评估。
24.在一些可选的实施方式中,根据畸变程度,抽取不同个数的像素邻域点,包括:
25.将畸变程度的n倍数向上取整后的值作为抽取的像素邻域点的个数,其中,n为不等于0的正整数。
26.在一些可选的实施方式中,预设权重函数满足条件:距离需要被插值的像素位置越近的像素邻域点的权重值越大。
27.本技术实施例提供的一种图像畸变校正系统,包括:
28.标定模块,用于利用标定的相机内部参数矫正原始图像,得到包含标定的标定图像,获取标定图像中各个像素点坐标相对于原始图像中像素点坐标的偏移值;
29.畸变计算模块,用于对标定图像中每一个像素位置,根据像素位置的像素邻域的偏移值,得到像素位置的畸变程度;
30.点数计算模块,用于对标定图像中每一个像素位置,根据畸变程度,抽取不同个数的像素邻域点;其中,畸变程度越高,抽取的像素邻域点的数量越大;以及
31.像素值计算模块,用于对标定图像中每一个像素位置,根据预设权重函数,计算多个像素邻域点的权重和并归一化,得到像素位置的像素值并进行插值,并获得插值后的图
像。
32.上述技术方案中,利用标定模块对原始图像进行标定,获取畸变前每个像素的位置。利用畸变计算模块,根据像素位置的像素邻域的偏移确定该像素位置的畸变程度。利用点数计算模块,根据畸变程度自适应地连续调整滤波器半径,即畸变程度越高,抽取的像素邻域点的数量越大。像素值计算模块通过这些像素领域点计算像素值,根据图像畸变的不同,滤波器半径随之变化,可以有效的抗混叠,并且滤波器的半径是自适应得连续变化,不会造成矫正后图像的不均匀感,从而提升了校正后图像的画质。
33.在一些可选的实施方式中,畸变计算模块还用于:
34.获取像素位置的左上、左下、右上和右下的像素邻域;
35.计算像素邻域偏移前后左上像素邻域与右下像素邻域之间距离的第一变化率;计算像素邻域偏移前后右上像素邻域与左下像素邻域之间距离的第二变化率;以及
36.根据第一变化率和第二变化率,得到畸变程度。
37.上述技术方案中,利用畸变计算模块对每一需要被插值的像素位置,根据该像素位置的左上、左下、右上和右下的像素邻域点之间的距离变化来确定像素位置的畸变程度,能够从多个方向上的畸变来综合评估畸变程度。
38.本技术实施例提供的一种电子设备,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如以上任一所述的方法。
39.本技术实施例提供的一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如以上任一所述的方法。
附图说明
40.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
41.图1为本技术实施例提供的一种图像畸变校正方法步骤流程图;
42.图2为本技术实施例的原始图像中像素位置x及其左上、左下、右上和右下的像素邻域点的示意图;
43.图3为本技术实施例的标定结果中像素位置x左上、左下、右上和右下的像素邻域点偏移位置的示意图;
44.图4为本技术实施例提供的一种图像畸变校正系统的功能模块图;
45.图5为本技术实施例提供的电子设备的一种可能的结构示意图。
46.图标:1-标定模块,2-畸变计算模块,3-点数计算模块,4-像素值计算模块,51-处理器,52-存储器,53-通信接口,54-通信总线。
具体实施方式
47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
48.在采用gdc算法对图像进行畸变矫正时,在对图像进行在理想位置下插值过程中,
由于图像周围的畸变较大,如果使用和图像中心相同的插值方式,容易造成在图像周围插值造成混叠的伪影。申请人发现,图像畸变的程度是从中心均匀增强到四周的,如果径向分段采用不同的插值方式的话会造成插值后的断续感,想要克服断续感,往往需要工程师对滤波段数及各级滤波器的系数进行大量耗时的调节和实验。
49.因此,本技术的一个或多个实施例提供了一种图像畸变校正方法、系统、电子设备及存储介质,在对图像进行在理想位置下插值过程中,畸变较小的位置插值滤波器半径大可以有效的抗混叠,并且滤波器的半径是自适应得连续变化,故不会造成矫正后图像的不均匀感。
50.请参照图1,图1为本技术实施例提供的一种图像畸变校正方法步骤流程图,包括:
51.步骤100、利用标定的相机内部参数矫正原始图像,得到包含标定的标定图像,获取标定图像中各个像素点坐标相对于原始图像中像素点坐标的偏移值。
52.步骤200、对标定图像中每一个像素位置,根据像素位置的像素邻域的偏移值,得到像素位置的畸变程度。
53.步骤300、对标定图像中每一个像素位置,根据畸变程度,抽取不同个数的像素邻域点;其中,畸变程度越高,抽取的像素邻域点的数量越大。
54.步骤400、对标定图像中每一个像素位置,根据预设权重函数,计算多个像素邻域点的权重和并归一化,得到像素位置的像素值并进行插值,并获得插值后的图像。
55.本技术实施例中,首先对原始图像进行标定,获取畸变前每个像素的位置,根据像素位置的像素邻域的偏移确定该像素位置的畸变程度,根据畸变程度自适应地连续调整滤波器半径,即畸变程度越高,抽取的像素邻域点的数量越大,通过这些像素领域点计算像素值,根据图像畸变的不同,滤波器半径随之变化,可以有效的抗混叠,并且滤波器的半径是自适应得连续变化,不会造成矫正后图像的不均匀感,从而提升了校正后图像的画质。
56.在一些可选的实施方式中,根据像素位置的像素邻域的偏移值,得到像素位置的畸变程度,具体包括:
57.步骤201、获取像素位置的左上、左下、右上和右下的像素邻域点。
58.步骤202、计算像素邻域偏移前后左上像素邻域点与右下像素邻域点之间距离的第一变化率;计算像素邻域偏移前后右上像素邻域点与左下像素邻域点之间距离的第二变化率。
59.步骤203、根据第一变化率和第二变化率,得到畸变程度。
60.请参照图2,图2为原始图像中像素位置x及其左上、左下、右上和右下的像素邻域点的示意图,此时,原始图像上每个像素位置均对应有像素点,点a、点b、点c和点d分别为像素位置x的左上、右上、左下和右下的像素邻域点,对原始图像进行畸变校正则需要对每一个像素位置x重新插值。在步骤100中,获取标定结果中各个像素点坐标,点a、点b、点c和点d均偏移到了如图3所示的位置,那么像素位置x的畸变程度,由点a到点d的距离的第一变化率,以及点b到点c的距离的第二变化率来确定。本技术实施例中,对每一需要被插值的像素位置,根据该像素位置的左上、左下、右上和右下的像素邻域点之间的距离变化来确定像素位置的畸变程度,能够从多个方向上的畸变来综合评估畸变程度。
61.需明确的是,本实施例选取像素位置x的左上、左下、右上和右下的像素邻域点计算像素位置x的畸变程度的方案仅做示例,其也可以选取像素位置x的上下左右的像素邻域
点计算像素位置x的畸变程度,或者是选取与像素位置x具有其它相对位置关系的一个或多个像素领域点,均在本技术实施例的范围之内。
62.在一些可选的实施方式中,畸变程度为第一变化率与第二变化率之和;其中,第一变化率为像素邻域偏移前后左上像素邻域与右下像素邻域之间距离的比值减1,第二变化率为像素邻域偏移前后右上像素邻域与左下像素邻域之间距离的比值减1。
63.本技术实施例中,第一变化率和第二变化率分别是偏移前后两个点之间距离的比值减1,将畸变程度设置为第一变化率和第二变化率之和,适用于畸变主要发生在一个方向上的畸变程度评估。
64.在一些可选的实施方式中,畸变程度为第一变化率与第二变化率之积;其中,第一变化率为像素邻域偏移前后左上像素邻域与右下像素邻域之间距离的比值减1,第二变化率为像素邻域偏移前后右上像素邻域与左下像素邻域之间距离的比值减1。
65.本技术实施例中,第一变化率和第二变化率分别是偏移前后两个点之间距离的比值减1,将畸变程度设置为第一变化率和第二变化率之积,适用于畸变发生在不止一个方向上的畸变程度评估。
66.在一些可选的实施方式中,若在多个方向上的畸变不一且呈现规律性特征时,也可以将第一变化率和第二变化率根据实际情况设置权重,通过加权求和得到畸变程度。
67.在一些可选的实施方式中,根据畸变程度,抽取不同个数的像素邻域点,包括:将畸变程度的n倍数向上取整后的值作为抽取的像素邻域点的个数,其中,n为不等于0的正整数。
68.需明确的是,畸变程度y与抽取的像素邻域点的个数x,可以以其他的函数关系式y=f(x)来确定,只需保证畸变程度越高,抽取的像素邻域点的个数越多即可。
69.在一些可选的实施方式中,可以建立畸变程度与抽取的像素邻域点的关系数据库,通过畸变程度查找该数据库中,该畸变程度对应的抽取像素邻域点的个数。
70.在一些可选的实施方式中,预设权重函数满足条件:距离需要被插值的像素位置越近的像素邻域点的权重值越大。
71.需明确的是,本技术实施例的预设权重函数为根据实际情况选择的,例如s=(sinxl)/xl,或其中,xl为像素邻域点与被插值的像素位置的距离,s为权重值。并且,在加权求和后需要进行归一化,以得到像素值。
72.请参照图4,图4为本技术实施例提供的一种图像畸变校正系统的功能模块图,包括标定模块1、畸变计算模块2、点数计算模块3和像素值计算模块4。
73.其中,标定模块1,用于利用标定的相机内部参数矫正原始图像,得到包含标定的标定图像,获取标定图像中各个像素点坐标相对于原始图像中像素点坐标的偏移值。畸变计算模块2,用于对所述标定图像中每一个像素位置,根据像素位置的像素邻域的偏移值,得到像素位置的畸变程度。点数计算模块3,用于对所述标定图像中每一个像素位置,根据畸变程度,抽取不同个数的像素邻域点;其中,畸变程度越高,抽取的像素邻域点的数量越大。像素值计算模块4,用于对所述标定图像中每一个像素位置,根据预设权重函数,计算多
个像素邻域点的权重和并归一化,得到像素位置的像素值并进行插值,并获得插值后的图像。
74.本技术实施例中,利用标定模块1对原始图像进行标定,获取畸变前每个像素的位置。利用畸变计算模块2,根据像素位置的像素邻域的偏移确定该像素位置的畸变程度。利用点数计算模块3,根据畸变程度自适应地连续调整滤波器半径,即畸变程度越高,抽取的像素邻域点的数量越大。像素值计算模块4通过这些像素领域点计算像素值,根据图像畸变的不同,滤波器半径随之变化,可以有效的抗混叠,并且滤波器的半径是自适应得连续变化,不会造成矫正后图像的不均匀感,从而提升了校正后图像的画质。
75.在一些可选的实施方式中,畸变计算模块2还用于:获取像素位置的左上、左下、右上和右下的像素邻域;计算像素邻域偏移前后左上像素邻域与右下像素邻域之间距离的第一变化率;计算像素邻域偏移前后右上像素邻域与左下像素邻域之间距离的第二变化率;以及根据第一变化率和第二变化率,得到畸变程度。
76.本技术实施例中,利用畸变计算模块2对每一需要被插值的像素位置,根据该像素位置的左上、左下、右上和右下的像素邻域点之间的距离变化来确定像素位置的畸变程度,能够从多个方向上的畸变来综合评估畸变程度。
77.图5示出了本技术实施例提供的电子设备的一种可能的结构。参照图5,电子设备包括:处理器51、存储器52和通信接口53,这些组件通过通信总线54和/或其他形式的连接机构(未示出)互连并相互通讯。
78.其中,存储器52包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(random access memory,简称ram),只读存储器(read only memory,简称rom),可编程只读存储器(programmable read-only memory,简称prom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),电可擦除可编程只读存储器(electric erasable programmable read-only memory,简称eeprom)等。处理器51以及其他可能的组件可对存储器52进行访问,读和/或写其中的数据。
79.处理器51包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器51可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、微控制单元(micro controller unit,简称mcu)、网络处理器(network processor,简称np)或者其他常规处理器;还可以是专用处理器,包括神经网络处理器(neural-network processing unit,简称npu)、图形处理器(graphics processing unit,简称gpu)、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuits,简称asic)、现场可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器51为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
80.通信接口53包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口53可以包括进行有线和/或无线通信的接口。
81.在存储器52中可以存储一个或多个计算机程序指令,处理器51可以读取并运行这些计算机程序指令,以实现本技术实施例提供的畸变校正方法。
82.可以理解的,图5所示的结构仅为示意,电子设备还可以包括比图5中所示更多或
者更少的组件,或者具有与图5所示不同的结构。图5中所示的各组件可以采用硬件、软件或其组合实现。电子设备可能是实体设备,例如pc机、笔记本电脑、平板电脑、手机、服务器、嵌入式设备等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。
83.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本技术实施例提供的畸变校正方法。例如,计算机可读存储介质可以实现为图5中电子设备中的存储器52。
84.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
85.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
86.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
87.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
88.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献