投影融合原理

目前,有不少应用(如沉浸式虚拟现实和科技可视化计算等)得益于高清晰度显示器。但遗憾的是,现有的投影技术仍局限在XGA(1024×768)或SXGA(1280×1024)级的像素分辨率上,而且在撰写本文时,后者的价格还相当昂贵。所幸的是,我们可以将多台低档次的商用投影机叠合在一起方法,每台投影机各由一台不同的计算机驱动,或由同一台计算机中不同的图形通道来驱动。

    采用商用投影机时遇到的第一个问题是,这些投影机不同于那些较昂贵的机型,它们都不具有对拼接显示的内置支持。此外,它们的光学系统的结构使得你不可能以像素完美(或接近)的方式,可靠地调整多台投影机。由于拼接显示并不是像素完美的,所以最终结果只能是,图像之间要么有一个缝隙,要么有一条两倍亮度的接缝;这两种情况都是令人讨厌的,尤其是对那些以摇摄方式拍摄的内容或那些越过缝隙的被拍摄对象来说,更是如此。解决方法就是让两个图像之间有相当可观的重叠,然后调整重叠区中的像素,使得重叠部分尽可能地不可见。这种做法之所以可行,是因为这样做之后,任何微小的投影机校准不当或镜头像差仅表现为图像略微模糊,而不会出现尖锐的接缝或缝隙。

重=============叠

      处理过程的第一步就是使两个图像重叠,本文中将使用悉尼一座标志性建筑物的内部全景图。重叠区的像素将在整个重叠区中进行融合处理,也就是说,两个图像将褪色成黑色。这种一般方法相当适用于任何数目的图像,也适用于那些可能并非以矩形方式排列的图像。此处所用的投影机是XGA(1024×768)的,重叠区中是256个像素。重叠部分不一定恰好是2次幂,但由于利用纹理和OpenGL对图像进行了混合处理,所以2次幂是最有效的。重叠程度取决于所需要的伽玛校正量(参看下文)和混合功能的动态范围。在本例中,用128个像素就无法获得与256像素重叠同样好的结果。所以,最终的图像宽度为2×1024-256 = 1792个像素,高度为768个像素。下图示意了这两个投影图像,不出所料,重叠区的亮度大于正常图像,因为它受两台投影机的共同作用。用于展示这一全景图的应用程序,是一个本机开发的、用于观看立体全景图的预看程序,是针对OpenGL基图形编写的。用OpenGL生成这两个重叠图像是非常容易的,因为你只需要在视锥中做相应的改变即可。请注意,这里显示的图像,是在暗室里拍摄的这些图像的数字照片,展示这些照片有一定难度,因为这些照片的颜色看上去有点褪色。

融=============合

混合就是将一个图像中位于重叠区中的每个像素都乘以某个值,从而使得当它被迭加到另一个图像中其对应的像素上时,能得到期望的像素值。这很容易利用一个取值范围介于0和1之间的函数f(x)来实现:例如右侧图像中的像素乘以f(x),左侧图像中相应的像素则乘以1-f(x)。下面给出本文中使用的函数。有许多可能的选择,但我们之所以选择这个函数,是因为它允许我们试验从线性到高度弯曲的精确函数形式。

该函数的图形表示如下。请注意,图中的坐标已经被归一化成0(表示边缘混合区的开始)和1(表示边缘混合区的结束)。以右侧图像为例,第一列中的像素被乘以0(没有影响),混合区右边缘(第255列)上的像素则被乘以1。靠左图像的混合函数则为1 ——曲线如下。在混合区的中点上,曲线通过0.5,它表示每个图像中的像素对最终的像素值的贡献相等。精确的曲率取决于参数“p”,当p=1时,混合是线性的;随着p值的增加,在0.5附近的跃变越来越陡峭,p=1很可能导致混合区的边缘上出现可见的阶跃。本文件中的所有例子均采用p=2。边缘混合是通过放置一个多边形来实现的,上述的边缘混合函数被表示成一个灰度级一维构造。这一构造成的多边形经过适当的混合(OpenGL中的说法),使之能修整图像缓冲存储器中的像素。这种方法的优点就在于,它可随意地适于任何OpenGL应用程序,原因在于它是在正常的几何绘图完成之后进行的一项后处理工作。下图示意了整个混合区上的掩蔽区构造。

下面的图像是在(带双显示器)计算机上所看到之图像的屏幕转储,即乘以上述掩蔽函数后的全景图像。最终获得的投影图像如下,但其中为什么有一个灰色条呢?

===============伽玛矫正==============

上述混合函数之所以不够,前面的图像中之所以有一个灰色条,是因为我们到目前为止所介绍的方法,只是增加像素值,而真正需要做的是,增加图像的亮度级。用于控制像素如何映射成亮度的主函数,就是所谓的显示器的伽玛函数,其典型值介于1.8到2.2之间。伽玛就是像素值与输出亮度的相关;如果G表示伽玛函数,则输出亮度就是像素值(被归一化为介于0到1之间)的G次幂。幸运的是,这可以应用采用伽玛的倒数次幂很容易地予以校正。所以,图像像素的完整变换是函数f(x)1/G和f(1-x)1/G。

下面是经过伽玛校正后的边缘混合图像。请注意,一般说来,需要对每个r、g、b值进行伽玛校正,因为它们使用的投影机各不相同。

============进一步完善================

下面是一个经过修正的边缘混合函数,它提供混合区中心的某些亮度控制。“a”的取值范围为0到1,如果它大于0.5,则混合区的中心变亮;如果它小于0.5,则混合区的中心变暗。

============投影机黑电平================

混合区在多大程度上变得不可见,最主要的制约因素就是投影机生成黑电平的程度。CRT投影机通常具有最大的黑电平,但这种投影机因其它原因(体积庞大、需要校准、低照度等)而并不受人欢迎;LCD投影机通常具有很差的黑电平;DLP投影机比较好(这些试验中使用的都是DLP投影机)。制造商公布的有关黑电平的主要指标是对比度,撰写本文之时,有不少投影机的标称对比度约为1500:1到2000:1;有些投影机的标称对比度高达3000:1甚至3500:1。一般说来,投影机亮度和对比度之间存在某种交换关系,大多数用户想要亮度较大的投影机,但要以较差的黑电平为代价。

你可能感兴趣的:(互动投影)