【技术实现步骤摘要】
本专利技术涉及一种调节图像视差的方法,特别是关于一种立体视觉三维可视化系统 中自动调节图像视差的方法。
技术介绍
在立体视觉三维可视化系统中,生成立体视觉图像的方法是在三维场景中布置两 个分别用于生成左、右眼图像的虚拟相机。在生成立体视觉图像时,两个虚拟相机会分别根 据各自的模-视矩阵、投影矩阵、视口矩阵、窗口矩阵对场景进行变换、裁剪等处理,最终渲 染生成合适的立体视觉图像对。立体视觉三维可视化系统用户在合适的输出设备上看到立 体视觉图像对,并经过自身的视觉系统处理合成,最终形成立体视觉感知。 在立体视觉三维可视化系统中采用的虚拟相机与一般三维可视化系统中采用的 虚拟相机主要有三点不同:1)需要两个虚拟相机,同时生成左、右眼图像;2)需要使用特殊 的离轴投影矩阵作为投影矩阵以保证两个图像上的同名点在产生合适的水平视差的同时 不产生垂直视差,避免梯形畸变;3)两个虚拟相机间的距离需要根据成像的内容进行正确 的调节,调节的结果通过图像同名点的水平视差表现出来。 目前的立体视觉三维可视化系统在进行立体视觉图像的实时渲染时,对离轴投影 矩阵的设置与两个虚拟相机间距离的控制,主要是根据其中一个虚拟相机的深度缓存信息 来进行的。通常,选择一个虚拟相机作为虚拟主相机获取它的深度缓存,找到深度最小的缓 存像素求出其深度方向上的距离,即深度距离值,乘上一个比例系数(一般选择1/30)后作 为两个虚拟相机的间隔距离。在三维场景中,构建对应系统输出设备的辅助几何对象(一 般屏幕是长方形,所以几何体一般也是长方形),几何对象、两个虚拟相机在空 ...
【技术保护点】
一种立体视觉三维可视化系统中自动调节图像视差的方法,其包括以下步骤:1)定义主相机框架、各虚拟相机的参数及投影矩阵;其中,水平间隔dmainCams设置左虚拟主相机和右虚拟主相机,两左、右虚拟主相机连成的线段中点为锚点Pivot,与相距DRect处设置一矩形投影面Rect,矩形投影面Rect的中心点为C',C'与锚点Pivot构成的线段垂直于矩形投影面Rect;矩形投影面Rect的高度为hRect,宽为wRect;设定左、右虚拟主相机,锚点Pivot以及矩形投影面Rect之间相对方向上的位置关系为主相机框架;在锚点Pivot处设置七个虚拟辅助相机:front、back、left、right、up、down和additional;2)根据使用环境设定如下参数:d、w、h、D、p%、d'、n、f、a、b、Ci、vi和upi,并根据这些参数设置虚拟主相机和虚拟辅助相机;其中,d为左、右虚拟主相机之间的初始水平间距;w为显示最终生成的立体视觉三维图像的显示设备的宽度;h为显示最终生成的立体视觉三维图像的显示设备的高度;D为显示最终生成的立体视觉三维图像的显示设备的最佳观看距离;p%为显示的非背 ...
【技术特征摘要】
1. 一种立体视觉三维可视化系统中自动调节图像视差的方法,其包括以下步骤: 1) 定义主相机框架、各虚拟相机的参数及投影矩阵; 其中,水平间隔设置左虚拟主相机和右虚拟主相机,两左、右虚拟主相机连成 的线段中点为锚点Pivot,与相距DKeet处设置一矩形投影面Rect,矩形投影面Rect的中 心点为C',C'与锚点Pivot构成的线段垂直于矩形投影面Rect ;矩形投影面Rect的高度 为,宽为wKec;t ;设定左、右虚拟主相机,锚点Pivot以及矩形投影面Rect之间相对方向 上的位置关系为主相机框架;在锚点Pivot处设置七个虚拟辅助相机:front、back、left、 right、up、down 和 additional ; 2) 根据使用环境设定如下参数:d、w、h、D、p%、d' \rKf\a\tKCpVi和upp并根据这些 参数设置虚拟主相机和虚拟辅助相机; 其中,d为左、右虚拟主相机之间的初始水平间距;w为显示最终生成的立体视觉三维 图像的显示设备的宽度;h为显示最终生成的立体视觉三维图像的显示设备的高度;D为显 示最终生成的立体视觉三维图像的显示设备的最佳观看距离;P%为显示的非背景内容中 主体内容所占的百分比阈值;d'为显示的非背景内容中主体内容在显示设备上可容忍的 最大视差;η为左虚拟主相机和右虚拟主相机初始的近裁剪面距离;f为左虚拟主相机和右 虚拟主相机初始的远裁剪面距离;且0. l〈n彡0. 3,n〈f ;(;为观察位置;Vi为立体视觉三维 可视化系统用户的化身的观察方向,Vi以Q为起始点沿任意方向延伸;u Pi为立体视觉三维 可视化系统用户的化身的向上的方向,uPi以Q为起始点垂直于Vi沿向上方向延伸;其中, i = 0, 1,2, ···,N ;a*a 为六个虚拟辅助相机 front、back、left、right、up、down 存储深度 距离值的纹理尺寸;b*b为虚拟辅助相机additional存储深度距离值的纹理尺寸,其中,a、 b 均为 2-,111= 1,2,···,N,且a〈b ; 根据以上参数设置虚拟两个虚拟主相机和七个虚拟辅助相机: ① 设置虚拟主相机: a) 初始化主相机框架中各参数; b) 以vJPuPi叉乘确定向量;以(^为起点,沿Vi上距离DKeet处设置矩形投影面Rect, 矩形投影面Rect的高为h Keet,宽为wKect ; c) 将主相机框架的锚点Pivot与Q重合,两虚拟主相机之间水平距离为dMineanis,左虚 拟主相机的近裁减面距离n maMamsl、远裁减面距离fmaineamsl,右虚拟主相机的近裁减面距离 nmainC?s2、远裁减面距离f mainCams2 ? ② 设置虚拟辅助相机: a) 确定各虚拟辅助相机的朝向; b) 设定各虚拟辅助相机的近裁剪面距离、远裁剪面距离; c) 针对六个虚拟辅助相机front、back、left、right、up和down--对应创建一个尺 寸为a*a的存储深度距离值的浮点纹理;针对虚拟辅助相机additional创建一个尺寸为 b*b的存储深度距离值的浮点纹理; 3) 当Q、Vi和uPi发生变化后,重复步骤2)中①的b)?c)对主相机框架的位置和方 向进行调节;若立体视觉三维可视化系统发出视差调节的指令,则进入下一步;若不发出 视差调节的指令,则不进行任何操作; 4) 根据步骤3)中Q、Vi和uPi的变化,重复步骤2)的②中a)?b); 5) 根据六个虚拟辅助相机获得的Ci周边环境的深度距离值,对主相机框架进行缩放; 6) 根据虚拟辅助相机additional获取的深度距离值,对两虚拟主相机的水平间距进 行调整; 7) 通过步骤5)和步骤6)实现对主相机框架中两虚拟主相机、锚点Pivot和矩形投影 面Rect之间相对方向上的位置关系的调整,改变两虚拟主相机的空间位置与投影矩阵,生 成立体视觉图像对; 8) 根据的变化,重复步骤3)?7),实现自动调节图像视差。2. 如权利要求1所述的一种立体视觉三维可视化系统中自动调节图像视差的方法,其 特征在于:所述步骤1)中,设定主相机框架、各虚拟相机的参数及投影矩阵的方法如下: ① 左、右虚拟主相机: 左虚拟主相机的近裁剪面距离为nMinC;anisl,远裁剪面距离为f;ainC;amsl ;右虚拟主相机的近 裁期面距尚为 nmainC;ams2,远裁期面距尚为 fmainC;ams2 ;根据 C、hReet、wReet、nmainC;amsl 和 fmainC;amsl 确定 左虚拟主相机的离轴投影矩阵,并将其作为左虚拟主相机的投影矩阵;同理根据C'、h^t、 WRect、nmaincams2 矛口 f mainCams2 确定右虚拟主相机的投影矩阵; ② 七个虚拟辅助相机: 各虚拟辅助相机的朝向分布如下: ① 虚拟辅助相机front、additional垂直并正对矩形投影面Rect的方向; ② 虚拟辅助相机back垂直并背向矩形投影面Rect的方向; ③ 虚拟辅助相机left指向左虚拟主相机的方向; ④ 虚拟辅助相机right指向右虚拟主相机的方向; ⑤ 虚拟辅助相机up指向平行于矩形投影面Rect向上的方向; ⑥ 虚拟辅助相机down指向平行于矩形投影面Rect向下的方向; 七个虚拟辅助相机的近裁剪面距离、远裁剪面距离如下表所示:六个虚拟辅助相机front、back、left、right、up和down的投影矩阵为各使用视角为 90度的透视投影所对应的投影矩阵,虚拟辅助相机additional的投影矩阵为使用视角恰 好覆盖矩形投影面Rect的透视投影所对应的投影矩阵。3. 如权利要求1所述的一种立体视觉三维可视化系统中自动调节图像视差的方法,其 特征在于:所述步骤2)中,根据d、w、h、D、p%、d' 和up。设置虚拟主相机 和虚拟辅助相机方法如下: ①设置两虚拟主相机 a)初始化主相机框架中各参数:令DKec;t = D,矩形投影面Rect的高h^t = h,矩形投影 面Rect的宽wKec;t = w,两虚拟主相机间的水平间距dmainCams = d,左虚拟主相机的近裁减面 距离nMinCaDlsi = n,左虚拟主相机的远裁减面距离fMinCamsl = f,右虚拟主相机的近裁减面距 尚niMirCiimS2 = n,右虚拟主相机的远裁减面距尚fiMirCiimS2 = f ; b) 以vJPuPi叉乘确定向量ti ;以(^为起点,沿Vi上距离DKeet处设置矩形投影面Rect, 矩形投影面Rect的高为hKeet,宽为w Kect ; c) 将主相机框架的锚点Pivot与Q重合,两虚拟主相机之间水平距离为dMineanis,左虚 拟主相机的近裁减面距离,左虚拟主相机的近裁减面距离、远裁减面距离 fnrairCamsil,右虚拟王相机的近裁减面距尚nnrainC:amS2、远裁减面距尚f mainCams2 ? ②设置各虚拟辅助相机 对虚拟辅助相机设置如下: a) 确定各虚拟辅助相机的朝向 虚拟辅助相机fron、additional指向Vi ;虚拟辅助相机back指向Vi的反方向;虚拟辅 助相机left指向的反方向;虚拟辅助相机right指向心;虚拟辅助相机up指向upi ;虚 拟辅助相机down指向upi的反方向; b) 设定各虚拟辅助相机的近裁剪面距离、远裁剪面距离 虚拟辅助相机front的 ^front n? ffront ^mainCamsl ? 虚拟辅助相机back的nba(;k = n, fback fmainCamsl ; 虚拟辅助相机 left 的 nleft = n,fleft = f-i ; 虚拟辅助相机right的 ^right Hj fright i'mainCamsl ? 虚拟辅助相机up的 ^up ? iup i'mainCamsl ? 虚拟辅助相机down的 down n ? fdown fmainCamsl ; 虚拟辅助相机 additional 的 nadd = nmaineamsl,f add fmainCamsl ; c) 针对六个虚拟辅助相机front、back、left、right、up、down--对应创建一个尺寸 为a*a的存储深度距离值的浮点纹理;针对虚拟辅助相机additional创建一个尺寸为b*b 的存储深度距离值的浮点纹理。4.如权利要求2所述的一种立体视觉三维可视化...
【专利技术属性】
技术研发人员:段祺珅,龚建华,
申请(专利权)人:中国科学院遥感与数字地球研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。