一种图像处理方法、装置、电子设备及存储介质与流程

文档序号:32115218发布日期:2022-11-09 06:00阅读:271来源:国知局
一种图像处理方法、装置、电子设备及存储介质与流程

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


背景技术:

2.虚拟仿真是一种可创建、体验虚拟世界(virtual world)的计算机系统。此种虚拟世界由计算机生成,可以是现实世界的再现,亦可以是构想中的世界,用户可借助视觉、听觉及触觉等多种传感通道与虚拟世界进行自然的交互。在虚拟仿真过程中通常会使用到虚拟仿真融合技术,虚拟仿真融合指的是通过投影融合的方式创建一个三维界面,观察者站在投影的视觉中心,形成一个沉浸式交互场景。虚拟仿真融合是融合拼接的一种典型应用,在教育、科研、军工和航空航天等领域有较大的应用市场,虚拟仿真融合通过投影融合的方式创建三维界面。
3.然而,在现有的虚拟仿真融合场景中,例如:飞行模拟器场景,驾驶员的眼点位置是固定在驾驶座位上的,一旦眼点位置发生变化则视锥标定图也将随之发生变化,需要重新对投影图像进行几何校正调试,导致投影图像的校正调试效率低的问题,无法适应于眼点位置实时动态变化的应用场景。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种图像处理方法、装置、电子设备及存储介质,以解决投影图像的校正调试效率低,无法适应于眼点位置实时动态变化的应用场景的问题。
5.第一方面,本技术实施例提供了一种图像处理方法,包括:
6.获取目标投影通道对应的第一点阵,第一点阵是已知的且用以描述目标投影通道投射的输入源图像期望达到的投影效果的点阵;
7.在虚拟仿真场景中,将目标投影通道对应的虚拟平面由初始位置旋转至当前眼点信息对应的目标位置处,确定虚拟平面上多个目标顶点的旋转后坐标;
8.基于多个目标顶点的旋转后坐标,确定第二点阵中每个第二像素点的坐标,第二点阵是多条连线与虚拟平面相交的多个交点构成的矩阵,多条连线是输入源图像投射在虚拟投影幕上的各像素点与当前眼点位置之间的连线;
9.针对原始点阵中的每个原始像素点,基于该原始像素点对应的多个目标第一像素点与该原始像素点的位置关系,确定旋转后的虚拟平面中与该原始像素点对应的第三像素点,由多个第三像素点构成第三点阵,多个目标第一像素点是第一点阵中的像素点;
10.利用第三点阵对输入源图像进行形变处理,获得投射在实际投影幕上与第一点阵对应的投影图像。
11.可选地,当前眼点信息包括当前眼点位置、当前观测方向以及物理视角参数,物理视角参数是输入源图像的投射角度;将目标投影通道对应的虚拟平面由初始位置旋转至当
前眼点信息对应的目标位置处,确定虚拟平面上多个目标顶点的旋转后坐标,包括:基于物理视角参数以及当前眼点位置,确定虚拟平面位于初始位置时多个目标顶点的初始坐标,初始位置是目标投影通道的投影方向对应的位置;根据当前观测方向与目标投影通道的投影方向之间的偏移角度,确定虚拟平面的旋转角度;按照旋转角度对虚拟平面进行旋转,获得旋转后的虚拟平面;基于多个目标顶点的初始坐标以及旋转角度,确定虚拟平面上多个目标顶点的旋转后坐标。
12.可选地,多个目标顶点包括第一目标顶点、第二目标顶点以及第三目标顶点,物理视角参数包括第一水平夹角、第二水平夹角、第一竖直夹角以及第二竖直夹角;基于物理视角参数以及当前眼点位置,确定虚拟平面位于初始位置时多个目标顶点的初始坐标,包括:将当前眼点位置的x坐标与第一水平距离之和、当前眼点位置的y坐标与第一竖直距离之和、当前眼点位置的z坐标与设定距离之和,分别作为第一目标顶点的x轴初始坐标、y轴初始坐标以及z轴初始坐标,第一水平距离是第一水平夹角的正切值与设定距离的乘积,第一竖直距离是第一竖直夹角的正切值与设定距离的乘积;将当前眼点位置的x坐标与第一水平距离之和、当前眼点位置的y坐标与第二竖直距离之和、当前眼点位置的z坐标与设定距离之和,分别作为第二目标顶点的x轴初始坐标、y轴初始坐标以及z轴初始坐标,第二竖直距离是第二竖直夹角的正切值与设定距离的乘积;将当前眼点位置的x坐标与第二水平距离之和、当前眼点位置的y坐标与第一竖直距离之和、当前眼点位置的y坐标与设定距离之和,分别作为第三目标顶点的x轴初始坐标、y轴初始坐标以及z轴初始坐标,第二水平距离是第二水平夹角的正切值与设定距离的乘积。
13.可选地,基于多个目标顶点的初始坐标以及旋转角度,确定虚拟平面上多个目标顶点的旋转后坐标,包括:按照设定旋转顺序,依次确定x轴旋转矩阵、y轴旋转矩阵以及z轴旋转矩阵;将x轴旋转矩阵、y轴旋转矩阵以及z轴旋转矩阵三者的乘积作为目标旋转矩阵;将目标旋转矩阵与第一目标顶点的初始坐标的乘积、目标旋转矩阵与第二目标顶点的初始坐标的乘积、目标旋转矩阵与第三目标顶点的初始坐标的乘积,分别作为第一目标顶点的旋转后坐标、第二目标顶点的旋转后坐标以及第三目标顶点的旋转后坐标。
14.可选地,基于多个目标顶点的旋转后坐标,确定第二点阵中每个第二像素点的坐标,包括:获取有效视场角范围,有效视场角范围是实际投影幕对应的观测范围;根据实际投影幕在水平方向以及竖直方向的像素点数、水平方向以及竖直方向的像素间隔、有效视场角范围,获取虚拟仿真幕上第四点阵中各第四像素点的坐标;针对第四点阵中每个第四像素点,将该第四像素点与当前眼点位置相连,获得该第四像素点对应连线;确定每条连线与虚拟平面的交点的坐标,得到第二点阵中每个第二像素点的坐标。
15.可选地,基于该原始像素点对应的多个目标第一像素点与该原始像素点的位置关系,确定旋转后的虚拟平面中与该原始像素点对应的第三像素点,包括:在第一点阵中选取与该原始像素点相邻的四个第一像素点作为多个目标第一像素点;确定原始像素点与多个目标第一像素点在水平方向的水平比例关系以及在竖直方向上的竖直比例关系;在第二点阵中选取与多个目标第一像素点对应的多个目标第二像素点;将水平比例关系以及竖直比例关系应用在多个目标第二像素点上,确定旋转后的虚拟平面中与该原始像素点对应的第三像素点。
16.可选地,方法还包括:选取目标投影通道投射在实际投影幕上的多个实际投影像
素点;选取实际投影幕上的多个实际投影像素点;确定多个实际投影像素点分别在世界坐标系下的实际坐标以及在虚拟仿真场景下的虚拟坐标;基于多个实际投影像素点的实际坐标以及虚拟坐标建立方程组,获取映射矩阵;利用映射矩阵、在实际观测场景中观测者的当前眼点位置以及当前观测方向,确定虚拟仿真场景中目标投影通道对应的当前眼点信息。
17.第二方面,本技术实施例还提供了一种图像处理装置,所述装置包括:
18.第一点阵获取模块,用于获取目标投影通道对应的第一点阵,第一点阵是已知的且用以描述目标投影通道投射的输入源图像期望达到的投影效果的点阵;
19.顶点坐标确定模块,用于在虚拟仿真场景中,将目标投影通道对应的虚拟平面由初始位置旋转至当前眼点信息对应的目标位置处,确定虚拟平面上多个目标顶点的旋转后坐标;
20.第二点阵确定模块,用于基于多个目标顶点的旋转后坐标,确定第二点阵中每个第二像素点的坐标,第二点阵是多条连线与虚拟平面相交的多个交点构成的矩阵,多条连线是输入源图像投射在虚拟投影幕上的各像素点与当前眼点位置之间的连线;
21.第三点阵确定模块,用于针对原始点阵中的每个原始像素点,基于该原始像素点对应的多个目标第一像素点与该原始像素点的位置关系,确定旋转后的虚拟平面中与该原始像素点对应的第三像素点,由多个第三像素点构成第三点阵,多个目标第一像素点是第一点阵中的像素点;
22.形变处理模块,用于利用第三点阵对输入源图像进行形变处理,获得投射在实际投影幕上与第一点阵对应的投影图像。
23.第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的图像处理方法的步骤。
24.第四方面,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的图像处理方法的步骤。
25.本技术实施例带来了以下有益效果:
26.本技术实施例提供的一种图像处理方法、装置、电子设备及存储介质,先确定期望的输入源图像所要达到的形变后的投影效果,当观测者的当前眼点信息发生动态变化时,能够将虚拟平面调整至当前眼点信息对应的目标位置处,进一步确定出在当前眼点信息发生变化后目标投影通道对应的形变参数,即,第三点阵,利用第三点阵对输入源图像进行形变处理后可直接投影到实际投影幕上得到与第一点阵的形状对应的投影图像,无需对输入源图像进行多次几何校正,与现有技术中的图像处理方法相比,解决了投影图像的校正调试效率低,无法适应于眼点位置实时动态变化的应用场景的问题。
27.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
28.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
29.图1示出了本技术实施例所提供的图像处理方法的流程图;
30.图2示出了本技术实施例所提供的位于初始位置的虚拟平面的示意图;
31.图3示出了本技术实施例所提供的位于目标位置的虚拟平面的示意图;
32.图4示出了本技术实施例所提供的水平比例关系和竖直比例关系的示意图;
33.图5示出了本技术实施例所提供的第三像素点的位置示意图;
34.图6示出了本技术实施例所提供的图像处理装置的结构示意图;
35.图7示出了本技术实施例所提供的电子设备的结构示意图。
具体实施方式
36.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本技术保护的范围。
37.值得注意的是,在本技术提出之前,虚拟仿真是一种可创建、体验虚拟世界(virtual world)的计算机系统。此种虚拟世界由计算机生成,可以是现实世界的再现,亦可以是构想中的世界,用户可借助视觉、听觉及触觉等多种传感通道与虚拟世界进行自然的交互。在虚拟仿真过程中通常会使用到虚拟仿真融合技术,虚拟仿真融合指的是通过投影融合的方式创建一个三维界面,观察者站在投影的视觉中心,形成一个沉浸式交互场景。虚拟仿真融合是融合拼接的一种典型应用,在教育、科研、军工和航空航天等领域有较大的应用市场,虚拟仿真融合通过投影融合的方式创建三维界面。然而,在现有的虚拟仿真融合场景中,例如:飞行模拟器场景,驾驶员的眼点位置是固定在驾驶座位上的,一旦眼点位置发生变化则视锥标定图也将随之发生变化,需要重新对投影图像进行几何校正调试,导致投影图像的校正调试效率低的问题,无法适应于眼点位置实时动态变化的应用场景。
38.基于此,本技术实施例提供了一种图像处理方法,以提高投影图像的校正调试效率。
39.请参阅图1,图1为本技术实施例所提供的一种图像处理方法的流程图。如图1所示,本技术实施例提供的图像处理方法,包括:
40.步骤s101,获取目标投影通道对应的第一点阵。
41.该步骤中,目标投影通道可指从多个实际投影通道中选取的一条投影通道,目标投影通道用于将该投影通道对应的输入源图像投射至实际投影幕上。
42.第一点阵是已知的且用以描述目标投影通道投射的输入源图像期望达到的投影效果的点阵。
43.第一点阵中的数据是经过几何校正后的输出图像(即投影图像)上各像素点对应
的原始点阵在输入源图像中的位置坐标,该位置坐标可以为小数。
44.原始点阵是投影机默认画面对应的点阵,默认画面为一个矩形画面,原始点阵也是一个矩形点阵,并且该原始点阵也是已知的。
45.下面对原始点阵进行详细说明。
46.以投影机的投影分辨率为1024
×
768为例,原始点阵的大小用m
×
n来表示,则m=ceil(w/horin)+1,n=ceil(h/verin)+1,其中,w表示投影机默认画面在水平方向上像素点的数量,h表示投影机默认画面在竖直方向上像素点的数量,horin表示投影机默认画面在水平方向上的像素间隔,verin表示投影机默认画面在竖直方向上的像素间隔。这里,以horin以及verin均取32为例,则m=ceil(1024/32)+1=33,n=ceil(768/32)+1=25,其中,ceil表示向上取整。原始点阵的形式为:
47.(0,0)、(32,0)、(64,0)
……
(1024,0);
48.(0,32)、(32,32)、(64,32)
……
(1024,32);
49.……
50.(0,768)、(32,768)、(64,768)
……
(1024,768)。
51.这里,几何校正后得到的第一点阵的点阵大小与原始点阵的点阵大小相同,都是33
×
25的点阵。
52.在本技术实施例中,多个实际投影通道将各自对应的输入源图像投射在实际投影幕上后,由于投射角度、投射位置、实际投影幕类型的影响,可能会产生投影图像模糊或者投影位置错乱的问题,需要利用现有技术对每个实际投影通道进行几何校正得到每个实际投影通道对应的第一点阵,在进行一次几何校正后若观测者的眼点位置发生动态变化,则可根据本技术中的图像处理方法实时计算出当前眼点位置对应的第三点阵,并利用第三点阵对输入源图像进行形变处理,以解决因眼点位置变化而带来的投影图像发生形变的影响,无需如同现有技术一样重新对输入源图像进行几何校正。
53.这里,可利用现有技术对每个实际投影通道进行几何校正,得到每个实际投影通道各自对应的形变参数a,形变参数a是由多个坐标点构成的点阵,这里称为第一点阵,另外,也可以是通过直接设置得到第一点阵。第一点阵是输入源图像投射到实际投影幕上后期望达到的形状参数,是已知的,第一点阵中的像素点为第一像素点。
54.在一可选实施例中,方法还包括:选取目标投影通道投射在实际投影幕上的多个实际投影像素点;选取实际投影幕上的多个实际投影像素点;确定多个实际投影像素点分别在世界坐标系下的实际坐标以及在虚拟仿真场景下的虚拟坐标;基于多个实际投影像素点的实际坐标以及虚拟坐标建立方程组,获取映射矩阵;利用映射矩阵、在实际观测场景中观测者的当前眼点位置以及当前观测方向,确定虚拟仿真场景中目标投影通道对应的当前眼点信息。
55.这里,首先对包括实际投影幕以及观测者所在的可活动区域的场地,建立xyz三维坐标系,即世界坐标系,使用运动捕捉技术实时确定观测者的眼点在世界坐标系中的三维坐标。其中,眼点可指观测者(用户)的眼睛附近的某点,运动捕捉技术包括但不限于:光学运动捕捉技术、惯性运动捕捉技术、图像识别运动捕捉技术。
56.光学运动捕捉技术,是在用户的头部或者身体上黏贴红外反光标记球或标记点,使用运动捕捉相机获取用户的画面,并计算出画面内所有标记点在像素坐标系下的二维坐
标,使用软件收集同一时刻所有运动捕捉相机计算出的标记点的二维坐标,进而计算出该时刻标记点的世界坐标系下的三维坐标。根据标记点的三维坐标和标记点与眼点的相对位置可以推算出眼点的三维坐标。光学运动捕捉技术属于现有技术,这里不再赘述。
57.惯性动作捕捉技术,是在用户的身体上绑定惯性传感器,使用软件获取惯性传感器的数据并计算出惯性传感器的三维坐标,根据该三维坐标可以推算出世界坐标系下的眼点位置信息。惯性动作捕捉技术属于现有技术,这里不再赘述。
58.图像识别运动捕捉技术,是使用单目或双目摄像头获取用户的画面,通过算法识别用户关节及骨骼信息,特别是头部两眼、两耳等特征点的信息,进而推算出世界坐标系下的眼点位置。图像识别运动捕捉技术也属于现有技术,这里不再赘述。
59.具体的,在实际投影幕上选取4个以上的实际投影像素点,获取这4个以上的实际投影像素点在世界坐标系中的实际坐标以及在虚拟仿真系统中的虚拟坐标,利用这些实际投影像素点的实际坐标以及虚拟坐标建立方程组,求解可得出旋转矩阵和平移矩阵的具体数值。由该旋转矩阵和平移矩阵构成映射矩阵。
60.映射矩阵可以由如下公式表示:
[0061][0062]
上式中,r代表旋转矩阵,t代表平移矩阵,代表取值均为0的三维矩阵,x表示虚拟仿真场景中的x轴坐标,y表示虚拟仿真场景中的y轴坐标,z表示虚拟仿真场景中的z轴坐标,xw表示世界坐标系下的x轴坐标,yw表示世界坐标系下的y轴坐标,zw表示世界坐标系下的z轴坐标。
[0063]
利用获得的映射矩阵可以将实际观测场景中观测者的当前眼点位置以及当前观测方向映射到虚拟仿真场景中的当前眼点信息。
[0064]
步骤s102,在虚拟仿真场景中,将目标投影通道对应的虚拟平面由初始位置旋转至当前眼点信息对应的目标位置处,确定虚拟平面上多个目标顶点的旋转后坐标。
[0065]
该步骤中,虚拟仿真场景可指实际观测场景对应的仿真场景,虚拟仿真场景用于对实际观测场景中的观测者位置、实际投影幕信息、实际投影通道进行仿真模拟。
[0066]
实际投影幕信息包括:实际投影幕尺寸、实际投影幕类型以及实际投影幕位置。
[0067]
示例性的,实际投影幕类型包括但不限于:球幕、柱面幕、平面幕。
[0068]
实际投影通道包括多个,多个实际投影通道共同向实际投影幕投影得到融合后的投影图像。
[0069]
每个实际投影通道包括:输入源、投影机以及投影路径,输入源图像由输入源发送至投影机,由投影机将输入源图像投射至实际投影幕上得到投影图像。
[0070]
多个实际投影通道的投影角度和投影机位置可以是不同的,造成投影路径也不同。
[0071]
虚拟平面可指虚拟仿真场景中,由当前眼点位置出发按照预设的物理视角参数指示的方向投射出去后,在设定距离处所形成的矩形平面。
[0072]
初始位置可指观测者在当前眼点位置下眼点偏角为0时虚拟平面的位置。
[0073]
虚拟平面的初始位置与当前眼点位置相对应,虚拟平面处于初始位置时,虚拟平面与z轴垂直。
[0074]
在本技术实施例中,若实际投影幕为球幕,则在虚拟仿真场景中建立虚拟球幕,该虚拟球幕的球半径为r,球心o位于空间直接坐标系的原点,坐标为(0,0,0)。若实际投影幕为柱面幕,则在虚拟仿真场景中建立虚拟柱面幕,该虚拟柱面幕的直母线的方程为:x=0,z=r,柱面的准线方程为x2+z2=r2。若实际投影幕为平面幕,则在虚拟仿真场景中建立虚拟平面幕,该虚拟平面幕的平面方程为z=r。
[0075]
在一可选实施例中,当前眼点信息包括当前眼点位置、当前观测方向以及物理视角参数,物理视角参数是输入源图像的投射角度;将目标投影通道对应的虚拟平面由初始位置旋转至当前眼点信息对应的目标位置处,确定虚拟平面上多个目标顶点的旋转后坐标,包括:基于物理视角参数以及当前眼点位置,确定虚拟平面位于初始位置时多个目标顶点的初始坐标,初始位置是目标投影通道的投影方向对应的位置;根据当前观测方向与目标投影通道的投影方向之间的偏移角度,确定虚拟平面的旋转角度;按照旋转角度对虚拟平面进行旋转,获得旋转后的虚拟平面;基于多个目标顶点的初始坐标以及旋转角度,确定虚拟平面上多个目标顶点的旋转后坐标。
[0076]
这里,物理视角参数可指用于指示输入源图像的范围参数,物理视角参数可以表征输入源图像的画面大小。
[0077]
多个目标顶点的初始坐标可指虚拟平面位于当前眼点位置对应的初始位置时多个目标顶点的坐标。
[0078]
具体的,由于虚拟平面的初始位置与当前眼点位置是相互对应的,在当前眼点位置改变时,虚拟平面的初始位置也会随之改变。由于虚拟平面的初始位置是眼点偏角为0时的位置,所以虚拟平面的z轴坐标就等于当前眼点位置的z轴坐标与设定距离之和,虚拟平面的大小由物理视角参数决定。
[0079]
为了确定虚拟平面上各个像素点的坐标,可先确定虚拟平面上多个目标顶点的初始坐标,然后根据多个目标顶点的初始坐标以及旋转角度来计算出旋转后的虚拟平面内各个像素点的坐标。
[0080]
在一可选实施例中,多个目标顶点包括第一目标顶点、第二目标顶点以及第三目标顶点,物理视角参数包括第一水平夹角、第二水平夹角、第一竖直夹角以及第二竖直夹角;基于物理视角参数以及当前眼点位置,确定虚拟平面位于初始位置时多个目标顶点的初始坐标,包括:将当前眼点位置的x坐标与第一水平距离之和、当前眼点位置的y坐标与第一竖直距离之和、当前眼点位置的z坐标与设定距离之和,分别作为第一目标顶点的x轴初始坐标、y轴初始坐标以及z轴初始坐标,第一水平距离是第一水平夹角的正切值与设定距离的乘积,第一竖直距离是第一竖直夹角的正切值与设定距离的乘积;将当前眼点位置的x坐标与第一水平距离之和、当前眼点位置的y坐标与第二竖直距离之和、当前眼点位置的z坐标与设定距离之和,分别作为第二目标顶点的x轴初始坐标、y轴初始坐标以及z轴初始坐标,第二竖直距离是第二竖直夹角的正切值与设定距离的乘积;将当前眼点位置的x坐标与第二水平距离之和、当前眼点位置的y坐标与第一竖直距离之和、当前眼点位置的y坐标与设定距离之和,分别作为第三目标顶点的x轴初始坐标、y轴初始坐标以及z轴初始坐标,第二水平距离是第二水平夹角的正切值与设定距离的乘积。
[0081]
下面参照图2来介绍虚拟平面。
[0082]
图2示出了本技术实施例所提供的位于初始位置的虚拟平面的示意图。
[0083]
如图2所示,虚拟投影幕为虚拟球幕,目标投影通道对应的当前眼点位置的坐标为p0(x0,y0,z0),由当前眼点位置向虚拟平面作垂线,垂足为点s,虚拟平面上有三个目标顶点,分别是第一目标顶点a、第二目标顶点b以及第三目标顶点c,点a和点b是与x轴平行且经过点s的直线上的两个点,点c和点d是与y轴平行且经过点s的直线上的两个点,物理视角参数包括第一水平夹角∠ap0s,记作:α1,第二水平夹角∠bp0s,记作α2,第一竖直夹角∠cp0s,记作β1,第二竖直夹角∠dp0s,记作β2。设定距离为当前眼点位置与虚拟平面之间的距离p0s,为了方便计算,令p0s=1。
[0084]
通过直角三角形角度计算公式,可得如下结果:
[0085]
点a的坐标记作(xa,ya,za),xa=x0+tanα1,ya=y0+tanβ1,za=z0+1。
[0086]
点b的坐标记作(xb,yb,zb),xb=x0+tanα2,yb=y0+tanβ1,zb=z0+1。
[0087]
点c的坐标记作(xc,yc,zc),xc=x0+tanα1,yc=y0+tanβ2,zc=z0+1。
[0088]
需要说明的是,对于不同目标投影通道来说,在虚拟仿真场景中当前眼点位置是相同的,但由于不同目标投影通道的投射方向不同,所以不同目标投影通道与当前观测方向的夹角也不同。
[0089]
在一可选实施例中,基于多个目标顶点的初始坐标以及旋转角度,确定虚拟平面上多个目标顶点的旋转后坐标,包括:按照设定旋转顺序,依次确定x轴旋转矩阵、y轴旋转矩阵以及z轴旋转矩阵;将x轴旋转矩阵、y轴旋转矩阵以及z轴旋转矩阵三者的乘积作为目标旋转矩阵;将目标旋转矩阵与第一目标顶点的初始坐标的乘积、目标旋转矩阵与第二目标顶点的初始坐标的乘积、目标旋转矩阵与第三目标顶点的初始坐标的乘积,分别作为第一目标顶点的旋转后坐标、第二目标顶点的旋转后坐标以及第三目标顶点的旋转后坐标。
[0090]
具体的,虚拟平面与实际投影幕的像素点相同,虚拟平面水平方向像素点的数量为w,虚拟平面竖直方向像素点的数量为h。虚拟平面可以分别围绕虚拟仿真场景中的x轴、y轴、z轴旋转,旋转的角度依次记为α,β,γ,虚拟平面必须按照先围绕x轴、再围绕y轴、最后围绕z轴的顺序进行旋转。根据数学计算公式,可构建三个轴的旋转矩阵,分别是r
x
(α)、ry(β)、rz(γ)。
[0091]
其中,三个轴的旋转矩阵分别为:
[0092][0093][0094][0095]
虚拟平面旋转后,第一目标顶点a的旋转后坐标记作(x1,y1,z1),第二目标顶点b的旋转后坐标记作(x2,y2,z2),第三目标顶点c的旋转后坐标记作(x3,y3,z3)。依据旋转矩阵可
通过公式分别计算出第一目标顶点a的旋转后坐标、第二目标顶点b的旋转后坐标以及第三目标顶点c的旋转后坐标的具体取值,具体计算公式如下:
[0096][0097][0098][0099]
上式中,rz(γ)
×ry
(β)
×rx
(α)即为目标旋转矩阵。
[0100]
步骤s103,基于多个目标顶点的旋转后坐标,确定第二点阵中每个第二像素点的坐标。
[0101]
该步骤中,第二像素点可指多条连线与虚拟平面的交点,第二像素点包括多个,每个第二像素点就是一条连线与虚拟平面的一个交点。
[0102]
多条连线是输入源图像投射在虚拟投影幕上的各像素点与当前眼点位置之间的连线。
[0103]
第二点阵是多个第二像素点构成的矩阵,即是多条连线与虚拟平面相交的多个交点构成的矩阵。
[0104]
第二点阵是旋转后的虚拟平面上的点阵,第二点阵由第四点阵映射而来。
[0105]
在一可选实施例中,基于多个目标顶点的旋转后坐标,确定第二点阵中每个第二像素点的坐标,包括:获取有效视场角范围,有效视场角范围是实际投影幕对应的观测范围;根据实际投影幕在水平方向以及竖直方向的像素点数、水平方向以及竖直方向的像素间隔、有效视场角范围,获取虚拟仿真幕上第四点阵中各第四像素点的坐标;针对第四点阵中每个第四像素点,将该第四像素点与当前眼点位置相连,获得该第四像素点对应连线;确定每条连线与虚拟平面的交点的坐标,得到第二点阵中每个第二像素点的坐标。
[0106]
这里,有效视场角范围可指最终在实际投影幕上能够看到的视场范围,有效视场角范围与实际投影幕的范围有关,假设,球幕的上下角度范围是
±
30
°
,则有效视场角在竖直方向是60
°
。需要说明的是,实际观测场景中的球幕不是360
°
的球幕,而是360
°
球幕的一部分。
[0107]
有效视场角范围包括有效视场角水平范围以及有效视场角竖直范围,以[sta_h,end_h]表示有效视场角水平范围,以[sta_v,end_v]表示有效视场角竖直范围。
[0108]
第四点阵可指输入源图像对应的点阵,即原始视频图像上的点阵,也是曲面视频上的点阵。
[0109]
下面参照图3来介绍第二点阵。
[0110]
图3示出了本技术实施例所提供的位于目标位置的虚拟平面的示意图。
[0111]
如图3所示,旋转后的虚拟平面上第一目标顶点a、第二目标顶点b以及第三目标顶点c分别处于新的位置处,此时第一目标顶点a的旋转后坐标为(x1,y1,z1),第二目标顶点b
的旋转后坐标为(x2,y2,z2),第三目标顶点c的旋转后坐标为(x3,y3,z3)。虚拟仿真幕上点u1就是第四点阵中的一个第四像素点,将该点u1与当前眼点位置p0相连,获得对应连线p0u1,连线p0u1经过虚拟平面且相交于点t1,该点t1就是第二点阵中与点u1对应的第二像素点。如此,可确定第四点阵中每个第四像素点对应的第二像素点,由所有第二像素点构成第二点阵。
[0112]
具体的,根据有效视场角范围能够在虚拟仿真幕上计算出等间隔的m
×
n点阵,记为第四点阵。在球面幕中,第四点阵中第j行第i列的第四像素点u用经度θ和纬度来表示;在柱面幕中,第四点阵中第j行第i列的第四像素点u用经度θ和竖直方向坐标来表示;在平面幕中,第四点阵中第j行第i列的第四像素点u用水平方向坐标θ和竖直方向坐标来表示;在不同类型的虚拟仿真幕中,第四像素点的坐标含义不同,但计算公式是相同的。
[0113]
第四像素点的坐标计算公式如下:
[0114][0115][0116]
上式中,w表示实际投影幕在水平方向上像素点的数量,h表示实际投影幕在竖直方向上像素点的数量,horin表示实际投影幕在水平方向上的像素间隔、verin表示实际投影幕在竖直方向上的像素间隔。
[0117]
确定第四点阵中各个第四像素点的坐标后,针对第四点阵中的每个第四像素点,将该第四像素点与当前眼点位置p0相连,得到的连线与旋转后的虚拟平面相交,该交点即是该第四像素点对应的第二像素点,此时的第二像素点的坐标为三维坐标。可通过如下公式计算第二像素点的三维坐标:
[0118][0119]
x(j,i)=xa×
z(j,i)+xb;
[0120]
y(j,i)=ya×
z(j,i)+yb。
[0121]
上式中,u=(y
2-y1)
×
(z
3-z1)-(y
3-y1)
×
(z
2-z1);
[0122]
v=(x
2-x1)
×
(z
3-z1)-(x
3-x1)
×
(z
2-z1);
[0123]
w=(x
2-x1)
×
(y
3-y1)-(x
3-x1)
×
(y
2-y1);
[0124]
t=-x1×
u+y1×
v-z1×
w;
[0125][0126][0127][0128]
[0129]
确定第二像素点的三维坐标后,将各个第二像素点映射到二维平面上,即,将第二点阵映射到虚拟平面对应的二维平面上,得到第二像素点的二维坐标,第二点阵中第j行第i列的第二像素点的二维坐标记作:(xpoint(j,i),ypoint(j,i)),可通过如下公式计算第二像素点的二维坐标:
[0130][0131][0132]
上式中:
[0133][0134][0135][0136][0137]
上式中,x、y、z分别代表第二点阵中第二像素点的x轴坐标、y轴坐标、z轴坐标。
[0138]
步骤s104,针对原始点阵中的每个原始像素点,基于该原始像素点对应的多个目标第一像素点与该原始像素点的位置关系,确定旋转后的虚拟平面中与该原始像素点对应的第三像素点,由多个第三像素点构成第三点阵。
[0139]
该步骤中,该原始像素点对应的多个目标第一像素点与该原始像素点的位置关系可指水平方向的水平比例关系以及竖直方向的竖直比例关系。
[0140]
多个目标第一像素点是第一点阵中的像素点。
[0141]
目标第一像素点是从多个第一像素点中选取的像素点。
[0142]
在一可选实施例中,基于该原始像素点对应的多个目标第一像素点与该原始像素点的位置关系,确定旋转后的虚拟平面中与该原始像素点对应的第三像素点,包括:在第一点阵中选取与该原始像素点相邻的四个第一像素点作为多个目标第一像素点;确定原始像素点与多个目标第一像素点在水平方向的水平比例关系以及在竖直方向上的竖直比例关系;在第二点阵中选取与多个目标第一像素点对应的多个目标第二像素点;将水平比例关系以及竖直比例关系应用在多个目标第二像素点上,确定旋转后的虚拟平面中与该原始像素点对应的第三像素点。
[0143]
这里,实际投影幕上均匀插值出的m
×
n点阵为原始点阵,原始点阵的第j行第i列的像素点坐标记作:ep(ex(j,i),ey(j,i)),可得到:ex(j,i)=(i-1)
×
horin,ey(j,i)=(j-1)
×
verin。
[0144]
具体的,针对原始点阵中的每个原始像素点,在第一点阵中寻找与该原始像素点相邻的4个第一像素点作为目标第一像素点,使得该原始像素点位于这4个目标第一像素点围成的最小网格内,选取的4个目标第一像素点的坐标分别记作:op1(ox1,oy1),op2(ox2,oy2),op3(ox3,oy3),op4(ox4,oy4)。这4个目标第一像素点可以是与该原始像素点的行号相
同,但列号与该原始像素点的列号左右分别相邻的2个第一像素点,以及与该原始像素点的列号相同,但行号与该原始像素点的行号上下分别相邻的2个第一像素点。
[0145]
针对每一个目标第一像素点,确定该目标第一像素点的行号及列号,在第二点阵中寻找与该行号和列号对应的目标第二像素点,共确定4个第目标第二像素点,这4个目标第二像素点的坐标分别记作:ip1(ix1,iy1),ip2(ix2,iy2),ip3(ix3,iy3),ip4(ix4,iy4)。
[0146]
计算点ep(ex(j,i),ey(j,i))在相邻的4个目标第一像素点op1(ox1,oy1),op2(ox2,oy2),op3(ox3,oy3),op4(ox4,oy4)中水平比例关系u和竖直比例关系v。
[0147]
下面参照图4来介绍水平比例关系以及竖直比例关系的计算方法。
[0148]
图4示出了本技术实施例所提供的水平比例关系和竖直比例关系的示意图。
[0149]
如图4所示,点op5的坐标记作:op5(ox5,oy5),点op6的坐标记作:op6(ox6,oy6),设定点op5至点op6之间的长度为1,点op3至点op4之间的长度为1,则可通过如下公式计算得到水平比例关系以及竖直比例关系,计算公式如下:
[0150][0151][0152]
上式中:
[0153]
a=xq
×
yt-yq
×
xt,b=yp
×
xt-yq
×
xs-xp
×
yt+xq
×
ys,c=yp
×
xs-xp
×
ys。
[0154]
oy5=(oy
2-oy1)
×
u+oy1,oy6=(oy
4-oy3)
×
u+oy3。
[0155]
yp=ey(j,i)-oy1,yq=oy
2-oy1,ys=oy
3-oy1,yt=oy
4-oy
3-oy2+oy1。
[0156]
xp=ex(j,i)-ox1,xq=ox
2-ox1,xs=ox
3-ox1,xt=ox
4-ox
3-ox2+ox1。
[0157]
然后,将水平比例关系以及竖直比例关系应用到选取的4个目标第二像素点中,可以求得该原始像素点对应的第三像素点,该第三像素点记作:cp(cx(j,i),cy(j,i))。
[0158]
下面参照图5来介绍第三像素点的计算过程。
[0159]
图5示出了本技术实施例所提供的第三像素点的位置示意图。
[0160]
如图5所示,点ip5的坐标记作:ip5(ix5,iy5),点ip6的坐标记作:ip6(ix6,iy6),可通过如下公式计算得到第三像素点cp(cx(j,i),cy(j,i))的坐标,计算公式如下:
[0161]
cx(j,i)=ix5+(ix
6-ix5)
×
v;
[0162]
cy(j,i)=iy5+(iy
6-iy5)
×
v。
[0163]
上式中,ix5=ix
t
+(ix
2-ix1)
×
u,iy5=iy1+(iy
2-iy1)
×
u,ix6=ix3+(ix
4-ix3)
×
u,iy6=iy3+(iy
4-iy3)
×
u。
[0164]
步骤s105,利用第三点阵对输入源图像进行形变处理,获得投射在实际投影幕上与第一点阵对应的投影图像。
[0165]
该步骤中,将第三点阵作为形变参数,利用该形变参数对输入源图像进行形变处理,并将经过形变处理后获得的投影图像投射在实际投影幕上。
[0166]
需要说明的是,实际观测场景中的投影通道为多个,针对每个投影通道都要进行形变处理,多个经过形变处理的投影图像融合在一起,得到最终的投影画面。
[0167]
在具体实施时,由软件端基于当前眼点信息以及各个投影通道的朝向数据实时渲
染出新的输入源图像,同时,虚拟仿真融合系统计算得到第三点阵,利用该第三点阵对输入源图像进行形变处理得到最终投影到实际投影幕上的投影图像,从而实现对新的输入源图像的实时形变,其中,由于第三点阵是根据第一点阵计算得到的,第三点阵能够反映出第一点阵的形状,因此,该最终投影到实际投影幕上的投影图像是与第一点阵的形状对应的。由于利用第三点阵对输入源图形进行形变处理属于现有技术,与普通融合规则一致,可参见申请号为cn202111643036的专利,这里不再赘述。可以理解的,本技术的图像处理方法是应用在虚拟仿真融合系统中。
[0168]
与现有技术中图像处理方法相比,本技术先确定期望的输入源图像所要达到的形变后的投影效果,当观测者的当前眼点信息发生动态变化时,能够将虚拟平面调整至当前眼点信息对应的目标位置处,进一步确定出在当前眼点信息发生变化后目标投影通道对应的形变参数,即,第三点阵,利用第三点阵对输入源图像进行形变处理后可直接投影到实际投影幕上得到与第一点阵的形状对应的投影图像,无需对输入源图像进行多次几何校正,解决了投影图像的校正调试效率低,无法适应于眼点位置实时动态变化的应用场景的问题。
[0169]
基于同一发明构思,本技术实施例中还提供了与图像处理方法对应的图像处理装置,由于本技术实施例中的装置解决问题的原理与本技术实施例上述图像处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0170]
请参阅图6,图6为本技术实施例所提供的一种图像处理装置的结构示意图。如图6中所示,所述图像处理装置200包括:
[0171]
第一点阵获取模块201,用于获取目标投影通道对应的第一点阵,第一点阵是已知的且用以描述目标投影通道投射的输入源图像期望达到的投影效果的点阵;
[0172]
顶点坐标确定模块202,用于在虚拟仿真场景中,将目标投影通道对应的虚拟平面由初始位置旋转至当前眼点信息对应的目标位置处,确定虚拟平面上多个目标顶点的旋转后坐标;
[0173]
第二点阵确定模块203,用于基于多个目标顶点的旋转后坐标,确定第二点阵中每个第二像素点的坐标,第二点阵是多条连线与虚拟平面相交的多个交点构成的矩阵,多条连线是输入源图像投射在虚拟投影幕上的各像素点与当前眼点位置之间的连线;
[0174]
第三点阵确定模块204,用于针对原始点阵中的每个原始像素点,基于该原始像素点对应的多个目标第一像素点与该原始像素点的位置关系,确定旋转后的虚拟平面中与该原始像素点对应的第三像素点,由多个第三像素点构成第三点阵,多个目标第一像素点是第一点阵中的像素点;
[0175]
形变处理模块205,用于利用第三点阵对输入源图像进行形变处理,获得投射在实际投影幕上与第一点阵对应的投影图像。
[0176]
请参阅图7,图7为本技术实施例所提供的一种电子设备的结构示意图。如图7中所示,所述电子设备300包括处理器310、存储器320和总线330。
[0177]
所述存储器320存储有所述处理器310可执行的机器可读指令,当电子设备300运行时,所述处理器310与所述存储器320之间通过总线330通信,所述机器可读指令被所述处理器310执行时,可以执行如上述图1所示方法实施例中的图像处理方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
[0178]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的图像处理方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
[0179]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0180]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0181]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0182]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0183]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0184]
最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1