3D立体图像中的颜色

时间:2011-06-25 14:01:05

标签: colors 3d html5-canvas anaglyph-3d

我正在尝试探索如何制作3D立体图像(红色/青色)。我正在使用HTML5 <canvas>元素进行绘图。

问题在于我无法确定应该使用哪种颜色。另外,我不确定如何组合颜色。

目前我有以下代码:http://jsfiddle.net/eGjak/15/。问题是我无法使用红色部分的正确颜色。无论我选择多少红色,我的眼镜仍然让红色透过眼镜的红色部分。然而青色不会穿过眼镜的青色部分。它似乎也取决于背景颜色 - 有人可以对此有所了解吗?

其次,我应该如何组合红色和青色?我目前将颜色相加,但这会产生白色,因为红色为(255,0,0),青色为(0,255,255)。在sample image上,似乎它们加起来是黑色的 - 这怎么可能?

那么,我应该用什么颜色的红色部分?如何将红色和青色部分相互重叠?

2 个答案:

答案 0 :(得分:2)

首先,这里有几个开源的立体图像实现,你可以看看:

http://www.schrammel.org/stereo-plascolin.php

http://www.leebyron.com/else/redblue/#redblue


那就是说,我不认为看一些代码是解决这个问题的最好方法。您需要在更高级别了解代码背后的内容。

所以我建议看看这个页面上的教程;这些是如何在图像编辑程序中手动创建立体图像的说明:

http://graphicssoft.about.com/od/3danaglyphs/Making_3D_Anaglyphs.htm

首先尝试在Photoshop或GIMP中进行教程,或者确保生成的图像符合您的要求,然后尝试以编程方式实现该技术。

答案 1 :(得分:0)

使用3D图像时,您首先要考虑:您希望左眼看到什么图像,以及您希望右眼看到什么图像?然后,您可以使用一些技术将图像组合成3D图像。

对于红色/青色眼镜,组合图像并不像看起来那么简单;例如红色塑料实际上让一点绿光通过。幸运的是,Eric Dubois考虑了如何最好地创建3D红/青色立体照片的问题,他开发了一种将左/右图像组合成单个红/青色立体图像的数学最优技术。

another question讨论了该算法的详细信息。您可能还想进入一个工作JavaScript demo,它将两个图像组合成一个HTML5画布上的单个立体图像。