图像校正方法、装置、计算机设备及存储介质与流程
- 国知局
- 2024-08-08 16:48:33
本技术涉及计算机,特别涉及一种图像校正方法、装置、计算机设备及存储介质。
背景技术:
1、随着vr(virtual reality,虚拟现实)技术的发展,vr设备应运而生。vr设备通常都带有镜头,以将采集到的图像呈现给用户。由于图像经过镜头中的透镜会产生畸变,影响用户观看,因此如何对发生畸变的图像进行校正是本领域研究的重点。
2、目前,通常采用的方式是利用多项式曲线在图像的水平方向和垂直方向来表达发生畸变的函数,然后推导求得图像发生畸变的反函数作为校正函数,然后再通过遍历图像的每一个像素的坐标作为输入,带入到上述反函数中,实时运算出发生畸变前的坐标,从而实现对图像的校正。
3、但是,上述技术方案中,对于根据发生畸变的函数是否可推导反函数有着强依赖性,随着镜头结构的不断复杂化会变得越来越近于不可能,无法满足于vr设备的发展。
技术实现思路
1、本技术实施例提供了一种图像校正方法、装置、计算机设备及存储介质,无需推导畸变函数的反函数,使得该方式不会受到镜头结构的限制,并且根据之前校正得到的校正所需的目标映射关系,使得后续的几何畸变校正只需要读取目标映射关系便可完成校正,提高了图像校正的效率。所述技术方案如下:
2、一方面,提供了一种图像校正方法,所述方法包括:
3、基于畸变函数,对参考图像进行畸变处理,得到畸变图像,所述畸变函数基于终端中镜头的至少一个镜头参数确定;
4、以所述参考图像为目标,对所述畸变图像中像素点的坐标进行多次迭代调整,得到目标图像;
5、基于所述畸变图像和所述目标图像,确定目标映射关系,所述目标映射关系包括多对所述畸变图像中像素点的坐标与所述目标图像中像素点的坐标之间的映射关系,所述目标映射关系用于表示所述终端中所述镜头对成像的畸变影响;
6、基于所述目标映射关系,对所述镜头采集到的图像进行校正。
7、在一些实施例中,所述以所述参考图像为目标,对所述畸变图像中像素点的坐标进行多次迭代调整,包括:
8、在第1次迭代调整过程中,基于预设映射规则,对所述畸变图像中像素点的坐标进行映射,以得到图像p1和坐标增量c1,所述坐标增量c1用于表示所述图像p1中像素点的坐标与所述参考图像中像素点的坐标之间的差距;
9、在第i次迭代调整过程中,基于第i-1次迭代调整过程中确定的坐标增量ci-1,对图像pi-1中像素点的坐标进行调整,以得到图像pi和坐标增量ci,i为大于1的整数;
10、基于任一次迭代调整所得到图像中像素点的坐标和残差函数,确定所述残差函数的函数值,所述残差函数的函数值用于表示所述参考图像和所述迭代调整所得到图像之间的差距;
11、在所述残差函数的函数值不小于残差阈值的情况下,继续进行迭代;
12、在所述残差函数的函数值小于残差阈值的情况下,停止迭代,将所述迭代调整所得到的图像输出为目标图像。
13、在一些实施例中,所述在第i次迭代调整过程中,基于第i-1次迭代调整过程中确定的坐标增量ci-1,对图像pi-1中像素点的坐标进行调整,以得到图像pi和坐标增量ci,包括:
14、在第i次迭代调整过程中,对第i-1次迭代调整过程中确定的坐标增量ci-1和所述图像pi-1中像素点的坐标求和,得到所述图像pi;
15、采用高斯牛顿迭代法对所述残差函数进行迭代,得到所述坐标增量ci-1,所述坐标增量ci-1是所述残差函数的函数值的一部分,所述残差函数的函数值与所述坐标增量ci-1正相关。
16、在一些实施例中,所述采用高斯牛顿迭代法对所述残差函数进行迭代,得到所述坐标增量ci-1,包括:
17、将所述图像pi中像素点的坐标和所述参考图像中像素点的坐标带入所述残差函数;
18、对所述残差函数进行泰勒展开,得到雅可比矩阵;
19、基于一阶导数为零的高斯牛顿条件,对所述雅可比矩阵进行处理,得到所述坐标增量ci-1。
20、在一些实施例中,基于预设映射规则,对所述畸变图像中像素点的坐标进行映射,以得到图像p1的过程,包括:
21、基于所述畸变图像中像素点的坐标,随机获取与所述畸变图像中像素点的坐标对应的坐标,以得到所述图像p1;或者,
22、基于所述畸变图像中像素点的坐标和预设坐标偏移量,获取与所述畸变图像中像素点对应的多个坐标,以得到所述图像p1。
23、在一些实施例中,所述方法还包括:
24、获取所述参考图像中像素点的坐标、所述迭代调整所得到的图像中像素点的坐标以及所述畸变函数;
25、基于所述参考图像中像素点的坐标、所述迭代调整所得到的图像中像素点的坐标以及所述畸变函数,构建所述残差函数,所述迭代调整所得到的图像中像素点的坐标为所述残差函数中变量。
26、在一些实施例中,所述畸变函数包括第一畸变关系和第二畸变关系,所述第一畸变关系为图像在水平方向上的畸变关系,所述第二畸变关系为图像在垂直方向上的畸变关系;
27、所述基于所述参考图像中像素点的坐标、所述迭代调整所得到的图像中像素点的坐标以及所述畸变函数,构建所述残差函数,包括:
28、基于所述参考图像中像素点的横坐标、所述迭代调整所得到的图像中像素点的横坐标以及所述第一畸变关系,构建所述参考图像和所述迭代调整所得到的图像之间在水平方向上的第一残差关系;
29、基于所述参考图像中像素点的纵坐标、所述迭代调整所得到的图像中像素点的纵坐标以及所述第二畸变关系,构建所述参考图像和所述迭代调整所得到的图像之间在垂直方向上的第二残差关系,所述第一残差关系和所述第二残差关系构成所述残差函数。
30、在一些实施例中,所述畸变函数包括第一畸变关系和第二畸变关系,所述第一畸变关系为图像在水平方向上的畸变关系,所述第二畸变关系为图像在垂直方向上的畸变关系;
31、所述基于畸变函数,对参考图像进行畸变处理,得到畸变图像包括:
32、基于所述参考图像中像素点的横坐标和所述第一畸变关系,确定所述畸变图像中像素点的横坐标;
33、基于所述参考图像中像素点的纵坐标和所述第二畸变关系,确定所述畸变图像中像素点的纵坐标。
34、在上述任一实施例中,所述方法包括:
35、获取所述参考图像中像素点的坐标、所述迭代调整所得到的图像中像素点的坐标以及所述畸变函数,所述畸变函数包括第一畸变关系和第二畸变关系,所述第一畸变关系为图像在水平方向上的畸变关系,所述第二畸变关系为图像在垂直方向上的畸变关系;
36、基于所述参考图像中像素点的横坐标、所述迭代调整所得到的图像中像素点的横坐标以及所述第一畸变关系,构建所述参考图像和所述迭代调整所得到的图像之间在水平方向上的第一残差关系;
37、基于所述参考图像中像素点的纵坐标、所述迭代调整所得到的图像中像素点的纵坐标以及所述第二畸变关系,构建所述参考图像和所述迭代调整所得到的图像之间在垂直方向上的第二残差关系,所述第一残差关系和所述第二残差关系构成所述残差函数,所述迭代调整所得到的图像中像素点的坐标为所述残差函数中变量;
38、基于所述参考图像中像素点的横坐标和所述第一畸变关系,确定所述畸变图像中像素点的横坐标;
39、基于所述参考图像中像素点的纵坐标和所述第二畸变关系,确定所述畸变图像中像素点的纵坐标;
40、在第1次迭代调整过程中,基于所述畸变图像中像素点的坐标,随机获取与所述畸变图像中像素点的坐标对应的坐标,以得到所述图像p1;或者,基于所述畸变图像中像素点的坐标和预设坐标偏移量,获取与所述畸变图像中像素点对应的多个坐标,以得到所述图像p1;
41、基于所述图像p1,确定坐标增量c1,所述坐标增量c1用于表示所述图像p1中像素点的坐标与所述参考图像中像素点的坐标之间的差距;
42、在第i次迭代调整过程中,对第i-1迭代调整过程中确定的坐标增量ci-1和所述图像pi-1中像素点的坐标求和,得到所述图像pi;
43、将所述图像pi中像素点的坐标和所述参考图像中像素点的坐标带入所述残差函数;
44、对所述残差函数进行泰勒展开,得到雅可比矩阵;
45、基于一阶导数为零的高斯牛顿条件,对所述雅可比矩阵进行处理,得到所述坐标增量ci;
46、基于任一次迭代调整所得到图像中像素点的坐标和残差函数,确定所述残差函数的函数值,所述残差函数的函数值用于表示所述参考图像和所述迭代调整所得到图像之间的差距;
47、在所述残差函数的函数值不小于残差阈值的情况下,继续进行迭代;
48、在所述残差函数的函数值小于残差阈值的情况下,停止迭代,将所述迭代调整所得到的图像输出为目标图像。
49、另一方面,提供了一种图像校正装置,所述装置包括:
50、处理模块,用于基于畸变函数,对参考图像进行畸变处理,得到畸变图像,所述畸变函数基于终端中镜头的至少一个镜头参数确定;
51、迭代模块,用于以所述参考图像为目标,对所述畸变图像中像素点的坐标进行多次迭代调整,得到目标图像;
52、确定模块,用于基于所述畸变图像和所述目标图像,确定目标映射关系,所述目标映射关系包括多对所述畸变图像中像素点的坐标与所述目标图像中像素点的坐标之间的映射关系,所述目标映射关系用于表示所述终端中所述镜头对成像的畸变影响;
53、校正模块,用于基于所述目标映射关系,对所述镜头采集到的图像进行校正。
54、在一些实施例中,所述迭代模块,包括:
55、迭代单元,用于在第1次迭代调整过程中,基于预设映射规则,对所述畸变图像中像素点的坐标进行映射,以得到图像p1和坐标增量c1,所述坐标增量c1用于表示所述图像p1中像素点的坐标与所述参考图像中像素点的坐标之间的差距;
56、所述迭代单元,还用于在第i次迭代调整过程中,基于第i-1次迭代调整过程中确定的坐标增量ci-1,对图像pi-1中像素点的坐标进行调整,以得到图像pi和坐标增量ci,i为大于1的整数;
57、确定单元,用于基于任一次迭代调整所得到图像中像素点的坐标和残差函数,确定所述残差函数的函数值,所述残差函数的函数值用于表示所述参考图像和所述迭代调整所得到图像之间的差距;
58、所述迭代单元,还用于在所述残差函数的函数值不小于残差阈值的情况下,继续进行迭代;
59、输出单元,用于在所述残差函数的函数值小于残差阈值的情况下,停止迭代,将所述迭代调整所得到的图像输出为目标图像。
60、在一些实施例中,所述迭代单元,用于在第i次迭代调整过程中,对第i-1次迭代调整过程中确定的坐标增量ci-1和所述图像pi-1中像素点的坐标求和,得到所述图像pi;采用高斯牛顿迭代法对所述残差函数进行迭代,得到所述坐标增量ci-1,所述坐标增量ci-1是所述残差函数的函数值的一部分,所述残差函数的函数值与所述坐标增量ci-1正相关。
61、在一些实施例中,所述迭代单元,用于将所述图像pi中像素点的坐标和所述参考图像中像素点的坐标带入所述残差函数;对所述残差函数进行泰勒展开,得到雅可比矩阵;基于一阶导数为零的高斯牛顿条件,对所述雅可比矩阵进行处理,得到所述坐标增量ci-1。
62、在一些实施例中,所述迭代单元,用于基于所述畸变图像中像素点的坐标,随机获取与所述畸变图像中像素点的坐标对应的坐标,以得到所述图像p1;
63、所述迭代单元,还用于基于所述畸变图像中像素点的坐标和预设坐标偏移量,获取与所述畸变图像中像素点对应的多个坐标,以得到所述图像p1。
64、在一些实施例中,所述装置还包括:
65、获取模块,用于获取所述参考图像中像素点的坐标、所述迭代调整所得到的图像中像素点的坐标以及所述畸变函数;
66、构建模块,用于基于所述参考图像中像素点的坐标、所述迭代调整所得到的图像中像素点的坐标以及所述畸变函数,构建所述残差函数。
67、在一些实施例中,所述畸变函数包括第一畸变关系和第二畸变关系,所述第一畸变关系为图像在水平方向上的畸变关系,所述第二畸变关系为图像在垂直方向上的畸变关系;
68、所述构建模块,用于基于所述参考图像中像素点的横坐标、所述迭代调整所得到的图像中像素点的横坐标以及所述第一畸变关系,构建所述参考图像和所述迭代调整所得到的图像之间在水平方向上的第一残差关系;基于所述参考图像中像素点的纵坐标、所述迭代调整所得到的图像中像素点的纵坐标以及所述第二畸变关系,构建所述参考图像和所述迭代调整所得到的图像之间在垂直方向上的第二残差关系,所述第一残差关系和所述第二残差关系构成所述残差函数。
69、在一些实施例中,所述终端的畸变函数包括第一畸变关系和第二畸变关系,所述第一畸变关系为图像在水平方向上的畸变关系,所述第二畸变关系为图像在垂直方向上的畸变关系;
70、所述处理模块,用于基于所述参考图像中像素点的横坐标和所述第一畸变关系,确定所述畸变图像中像素点的横坐标;基于所述参考图像中像素点的纵坐标和所述第二畸变关系,确定所述畸变图像中像素点的纵坐标。
71、另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行以实现本技术实施例中的图像校正方法。
72、另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一段计算机程序,所述至少一段计算机程序由处理器加载并执行以实现如本技术实施例中图像校正方法。
73、另一方面,提供了一种计算机程序产品,包括计算机程序代码,该计算机程序存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述各个方面或者各个方面的各种可选实现方式中提供的图像校正方法。
74、本技术实施例提供了一种图像校正方法,通过对参考图像发生畸变后的畸变图像进行迭代调整,以参考图像为目标,调整出畸变图像校正后的目标图像,从而能够得到将畸变后的图像映射为畸变前的图像的目标映射关系,无需推导畸变函数的反函数,使得该方式不会受到镜头结构的限制,并且,对后续采集到的任一畸变图像,直接基于之前得到的目标映射关系来进行校正,也即是,只需要在之前校正过程中得到校正所需的目标映射关系,而在之后的几何畸变校正只需要读取目标映射关系便可完成校正,而且读取的结果会更准确,运行速度也可以大大提升,提高了图像校正的效率,具有广阔的应用前景。
本文地址:https://www.jishuxx.com/zhuanli/20240808/270497.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表