|
|
|
|
|
|
| 彩色图象的二维变形 |
2.扫描转换 反复作以下各步,直到y等于YResolution (1)若ET[y]非空,则将其内所有边插入AEL。 (2)若AEL非空,则将其按X及dx的值从小到大排列各边,接(3);否则转 (3)将AEL内各边按排列顺序两两依次配对。则沿当前扫描线Y组成若干水平区间[xLeft,xRight],其左右端点的反变换坐标分别为:(lRx,lRy),(rRx,rRy)。则对于每一个这样的区间作以下各步: dRxx=(lRx-rRx)/(xleft-xRight) dRyx=(lRy-rRy)/(xleft-xRight) 又设原图像已读入二维数组Image之中。令XX=xleft, Rxy=lRx, Ryx=lRy则对于每个满足xLeft≤xX≤xRight的坐标为(xx,y)的像素,其反变换坐标(Rxy,Ryx)可按下式增量计算: Rxx=Rxx+dRxx Ryx=Ryx+dRyy 用(Rxx,Ryx)在数组Image之中插值,(参见文献[1]),按所得颜色值显示该像素。然后边x=x+1,计算下一像素。 (4)将AEL中满足y=Ymax的边删去,然后按下式调整AEL中各边的信息。 X=X+dx Rx=Ry+dRx Ry=Ry+dRy (5)y=y+1,重复下一点。 五、讨论 上述算法针对彩色图像的二维变形问题,给出了一个简单快速的实现方案。至于三维变形,由于一般会牵涉到隐藏面消除等问题,比较复杂。但在一些情况下,可以避开消隐问题,如目的曲面形状比较简单,投影到屏幕后,各部分均不发生重叠,也就没有必要使用消隐技术,直接投影就可以了。这时就仍然可以利用本文介绍的二维变形技术,进行处理。方法是: 将曲面用许多小平面多边形进行逼近,再将各个小多边形投影到屏幕上,形成二维多边形。 在确定了小多边形到原图像各部分的对应关系之后,三维问题就转化成了二维问题,速度比较快,也能达到一定的效果。若掌握了消隐技术之后,则可以处理任意的曲面变形了,思路同上。
参考文献 [1]向辉 寿标“真实感图像的颜色插值及其应用”,计算机世界月刊,1992年10月 42EE6IQORP | | |