发明名称 三维图像的生成方法及其显示系统
摘要 本发明公开了一种既能处理指定的三维照片并由其合成三维图像,又能生成三维照片并处理这种照片合成三维图像的方法,包括用数学模型生成指定物体的S个源图像和将其合成为一个三维目标图像的步骤,其数学基础公式包括:<img file="200510015300.8_ab_0.GIF" wi="650" he="103" />;本发明还公开了一种三维图像的显示系统,其中,显示装置包括液晶显示器和设置在显示器前端的光栅及设置在两者之间的折射率匹配物质,利用位图显示或视频播放软件可观看本发明生成的三维图像;本发明完成全部工作是利用通用的计算机和液晶显示器进行的,而无需对计算机的硬软件及显示器的结构做任何改动,且生成源图像及合成三维目标图像只用Photoshop软件即可,本发明系统的成本大大低于现有技术的成本。
申请公布号 CN1750040A 申请公布日期 2006.03.22
申请号 CN200510015300.8 申请日期 2005.10.08
申请人 李明 发明人 李明
分类号 G06T1/00(2006.01);G02B27/22(2006.01);G02B5/18(2006.01);H04N7/24(2006.01) 主分类号 G06T1/00(2006.01)
代理机构 天津市北洋有限责任专利代理事务所 代理人 江镇华
主权项 1.一种三维图像的生成方法,其特征在于,包括以下步骤:生成指定物体源图像的步骤:对指定物体中任意一点P(X<sub>W</sub>,Y<sub>W</sub>,Z<sub>W</sub>)进行透视投影变换,生成所述P点的S个投影点,所述S个投影点的坐标分别为:<maths num="001"><![CDATA[ <math><mrow><msubsup><mover><mi>X</mi><mo>&OverBar;</mo></mover><mrow><mn>2</mn><mi>WN</mi></mrow><mo>&prime;</mo></msubsup><mo>=</mo><mfrac><mrow><msub><mi>X</mi><mi>W</mi></msub><mo>+</mo><msub><mi>NX</mi><mi>d</mi></msub><mo>[</mo><mrow><mo>(</mo><msub><mi>Z</mi><mi>W</mi></msub><mo>-</mo><msub><mi>Z</mi><mi>d</mi></msub><mo>)</mo></mrow><mo>/</mo><msub><mi>Z</mi><mi>V</mi></msub><mo>]</mo></mrow><mrow><mn>1</mn><mo>-</mo><mrow><mo>(</mo><msub><mi>Z</mi><mi>W</mi></msub><mo>-</mo><msub><mi>Z</mi><mi>d</mi></msub><mo>)</mo></mrow><mo>/</mo><msub><mi>Z</mi><mi>V</mi></msub></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="002"><![CDATA[ <math><mrow><msubsup><mover><mi>Y</mi><mo>&OverBar;</mo></mover><mrow><mn>2</mn><mi>WN</mi></mrow><mo>&prime;</mo></msubsup><mo>=</mo><mfrac><msub><mi>Y</mi><mi>W</mi></msub><mrow><mn>1</mn><mo>-</mo><mrow><mo>(</mo><msub><mi>Z</mi><mi>W</mi></msub><mo>-</mo><msub><mi>Z</mi><mi>d</mi></msub><mo>)</mo></mrow><mo>/</mo><msub><mi>Z</mi><mi>V</mi></msub></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></math>]]></maths>上述公式(11)和公式(12)中,Z<sub>d</sub>为实数,N为正整数,Z<sub>v</sub>为视点V的坐标,视点V在Z轴上,令N=1、2、……、S-1、S,则N每取一值就得到所述P点的一个透视投影;由于所述指定物体是由点组成的,所以对所述物体的各个点进行这种变换,就得到所述物体的S个投影图像;若上述的S个投影图宽度为a,高度为b,为使投影坐标系的坐标原点位于投影图像的中心,还应进行如下坐标变换:      X<sub>3WN</sub>′=X<sub>2WN</sub>′+a/2                       (13)      Y<sub>3WN</sub>′=Y<sub>2WN</sub>′+b/2                       (14)根据上述公式(13)和公式(14)即可得到所述物体的源图像;将上述S个源图像合成为一个三维目标图像的步骤:设上述的S个图像的像素列数为B,行数为H,并令B÷S的商数为K,余数为r,则B、H、K、r都为整数;定义上述S个图像的编号,其中,最小为1,最大为S,并分别命名为:“源图像1”、“源图像2”、……、“源图像S-1”、“源图像S”;从所述源图像1的最左端选取S列像素,并按照下述公式(20)、公式(21)和公式(22)进行变换,生成目标图像的最左端的第一列像素:<maths num="003"><![CDATA[ <math><mrow><mover><msub><mi>R</mi><mn>1</mn></msub><mo>&OverBar;</mo></mover><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mi>S</mi></munderover><mfrac><msub><mi>R</mi><mrow><mi>N</mi><mn>11</mn></mrow></msub><mi>S</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>20</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="004"><![CDATA[ <math><mrow><mover><msub><mi>G</mi><mn>1</mn></msub><mo>&OverBar;</mo></mover><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mi>S</mi></munderover><mfrac><msub><mi>G</mi><mrow><mi>N</mi><mn>11</mn></mrow></msub><mi>S</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>21</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="005"><![CDATA[ <math><mrow><mover><msub><mi>B</mi><mn>1</mn></msub><mo>&OverBar;</mo></mover><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mi>S</mi></munderover><mfrac><msub><mi>B</mi><mrow><mi>N</mi><mn>11</mn></mrow></msub><mi>S</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>22</mn><mo>)</mo></mrow></mrow></math>]]></maths>上述公式(20)、公式(21)和公式(22)中,<img file="A2005100153000003C2.GIF" wi="73" he="73" /><img file="A2005100153000003C3.GIF" wi="78" he="74" /><img file="A2005100153000003C4.GIF" wi="51" he="74" />是目标图像最左端的那一列像素中某一行像素的R、G、B值;R<sub>N11</sub>,G<sub>N11</sub>,B<sub>N11</sub>是所述源图像1中第N列像素中对应行的R、G、B值,其中脚标中的“N”表示是从第一列像素算起的第N列像素,脚标中的第一个“1”表示所述像素取自上述源图像1,脚标中的第二个“1”表示所述源图像中的S列像素是从第一列开始选取的;以此类推,依次对上述源图像2、源图像3、……、源图像S-1、源图像S的图像最左端的S列像素进行同样变换,并依次排列在目标图像的第2列、第3列、……、第S-1列、第S列;再分别对所述源图像1、源图像2、……、源图像S-1、源图像S的第S+1列至第2S列像素进行上述变换,其结果排列在目标图像的第S+1列至第2S列……;显然,对源图像i的第j+1列至第j+S列图像的变换结果将排在目标图像的第K<sub>1</sub>S+i列,这里,j是S的整倍数,j等于K<sub>1</sub>S,K<sub>1</sub>为小于K的整数,所述变换结果用下述公式(23)、公式(24)和公式(25)表示为:<maths num="006"><![CDATA[ <math><mrow><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mrow><msub><mi>K</mi><mn>1</mn></msub><mi>S</mi><mo>+</mo><mi>i</mi></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mi>S</mi></munderover><mfrac><mrow><msub><mi>R</mi><mi>Ni</mi></msub><mrow><mo>(</mo><msub><mi>K</mi><mn>1</mn></msub><mi>S</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mi>S</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>23</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="007"><![CDATA[ <math><mrow><msub><mover><mi>G</mi><mo>&OverBar;</mo></mover><mrow><msub><mi>K</mi><mn>1</mn></msub><mi>S</mi><mo>+</mo><mi>i</mi></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mi>S</mi></munderover><mfrac><msub><mi>G</mi><mrow><mi>Ni</mi><mrow><mo>(</mo><msub><mi>K</mi><mn>1</mn></msub><mi>S</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mi>S</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>24</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="008"><![CDATA[ <math><mrow><msub><mover><mi>B</mi><mo>&OverBar;</mo></mover><mrow><msub><mi>K</mi><mn>1</mn></msub><mi>S</mi><mo>+</mo><mi>i</mi></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mi>S</mi></munderover><mfrac><msub><mi>B</mi><mrow><mi>Ni</mi><mrow><mo>(</mo><msub><mi>K</mi><mn>1</mn></msub><mi>S</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mi>S</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>25</mn><mo>)</mo></mrow></mrow></math>]]></maths>上述公式中R<sub>Ni(K1S+1)</sub>,G<sub>Ni(K1S+1)</sub>,B<sub>Ni(K1S+1)</sub>变量的脚标中的“N”表示该列像素是从第K<sub>1</sub>S+1列算起的第N列像素,脚标中的“i”表示像素是从“源图像i”中选取的,脚标中的“K<sub>1</sub>S+1”表示选取像素的起始列为第K<sub>1</sub>S+1列;当目标图像具有KS列像素时,则用下列公式对源图像1、源图像2、……、源图像S-1、源图像S中最右端的r列像素进行处理:<maths num="009"><![CDATA[ <math><mrow><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mrow><mi>KS</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mi>r</mi></munderover><mfrac><msub><mi>R</mi><mrow><mi>N</mi><mn>1</mn><mrow><mo>(</mo><mi>KS</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mi>r</mi></mfrac><mo>,</mo></mrow></math>]]></maths><maths num="010"><![CDATA[ <math><mrow><msub><mover><mi>G</mi><mo>&OverBar;</mo></mover><mrow><mi>KS</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mi>r</mi></munderover><mfrac><msub><mi>G</mi><mrow><mi>N</mi><mn>1</mn><mrow><mo>(</mo><mi>KS</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mi>r</mi></mfrac><mo>,</mo></mrow></math>]]></maths><maths num="011"><![CDATA[ <math><mrow><msub><mover><mi>B</mi><mo>&OverBar;</mo></mover><mrow><mi>KS</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mi>r</mi></munderover><mfrac><msub><mi>B</mi><mrow><mi>N</mi><mn>1</mn><mrow><mo>(</mo><mi>KS</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mi>r</mi></mfrac><mo>,</mo></mrow></math>]]></maths>……,<maths num="012"><![CDATA[ <math><mrow><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mrow><mi>KS</mi><mo>+</mo><mi>i</mi></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mi>r</mi></munderover><mfrac><msub><mi>R</mi><mrow><mi>Ni</mi><mrow><mo>(</mo><mi>KS</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mi>r</mi></mfrac><mo>,</mo></mrow></math>]]></maths>……,<maths num="013"><![CDATA[ <math><mrow><msub><mover><mi>B</mi><mo>&OverBar;</mo></mover><mrow><mi>KS</mi><mo>+</mo><mi>S</mi></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mi>r</mi></munderover><mfrac><msub><mi>B</mi><mrow><mi>NS</mi><mrow><mo>(</mo><mi>KS</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mi>r</mi></mfrac><mo>;</mo></mrow></math>]]></maths>处理结果依次排列在目标图像的第KS+1列至KS+S列,由此生成的目标图像共有KS+S列,H行像素。
地址 300072天津市南开区卫津路92号天津大学新三村6号楼4单元102