教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 论文> 其他论文> 彩色图象的二维变形

彩色图象的二维变形

上传者:网友
|
翻新时间:2022-11-03

彩色图象的二维变形

彩色图象的二维变形 彩色图象的二维变形 彩色图象的二维变形 摘 要 该文讨论了彩色图像的变形扭曲技术,并针对二维变形给出了一个速度、精度均令人满意的算法。

一、引言

在图像处理的应用中,一般图像所覆盖区域边界是规则的矩形。为获得某种特殊效果,常常需要将图像变换到具有任意不规则边界的二维区域或映像到三维空间曲面,简单地说,这就是所谓的图像变形技术。本文重点讨论了其中的任意二维多边形区域的变形问题,并针对彩色图像给出一个切实可行的算法。而三维情况下,则属于计算机图形学中的纹理贴面范围,一般均会牵涉到立体图形消隐、明暗处理等技术,比较复杂,本文未作深入探讨。

二、变换原理@@T5S13200.GIF;图1@@

那么,变换应该如何进行呢?

一种直接的思路是显式地求出变换f的表达式。而f的实施又分两种方法;其一为正向变换法,即用f将P内的任一像素点变换到Q内,取原像素值加以显示。由于P与Q所包含像素点的数目一般不相同,甚至相差很大,造成Q中的像素点或者未被赋值,形成令人讨厌的空洞,或者被多次赋值,浪费了时间,总的效果不理想;其二利用f的反变换f-1,将Q内的每一像素点反变换至P内的对应点,一般此点具有实数坐标,则可以通过插值,确定其像素值,这样,结果图像中的每一像素点均被赋值唯一的一次,既提高了精度,又可以避免不必要的赋值,使用效果较好。第二种方法在保留一定精度的前提下,避免了变换表达式的显式求解,实现简便。本文基于此思想,设计了一个快速变形算法;另外,算法中还借鉴了多边形区域扫描转换的扫描线算法的思路,以实现对Q内各像素点的高效扫描。以下,本文首先介绍了插值技术及增量计算技术,然后将给出二维变形算法的详细步骤。

三、插值技术又令A、B及D各点的反变换坐标分别是(RXa,RYa),(RXb,RYb)和(RXd,RYd)。则RXp可按以下公式求出:RXb=vRX1+(1-v)RX3式2

RXd=tRXa+(1-t)RXb 式3称为插值参数。

RYd的值亦可完全类似地求出,甚至不必改变插值参数的计算。(Rxd,Ryd)即是D点在原图像中对应点的坐标近似值。上述的双线性插值过程可以通过增量计算方法提高速度。其中,在水平方向上,位于多边形内的各区段上的各像素的反变换坐标可以沿扫描线从左至右递增计算。仍以反变换的X坐标为例。如图2所示,在扫描线Y上,C与D是相邻两像素点,对C点,插值参数tc=|CB|/|AB|,对D点,td=|DB|/|AB|,则插值参数之差△t=|CD|/|AB|,由于C与D相邻,且在同一扫描线上,|CD|=1,即△t=1/|AB|,在AB区段上为常数。根据式1~式3,不难推得D点的反变换X坐标Rxd与C点的反变换X坐标Rxc之间的关系如下:

Rxd=Rxc+(Rxa-Rxb)·△t=Rxc+△RxxRxa=Rxe+(Rx1-Rx

2)△u=Rxe+△Rxy另外,前面提到,经过反变换后的点一般具有实数坐标,无法直接在原图像中获得颜色值。但我们知道,一幅所谓数字图像,其实质是对连续图像在整数坐标网格点上的离散采样,因而可以用插值的方法,得到区域内具有任意坐标的点的颜色值。插值即是对任意坐标点的颜色值,用其周围的若干像素(具有整值坐标值,颜色值确定)的颜色值按一定插值公式近似计算。一般有最近邻点法、双线性插值法及3次样条函数法等插值方法,出于精度与速度的折衷要求,选用双线性插值方 法对绝大多数的应用场合是适宜的。需特别指出的是,应该对颜色的3原色分量分别进行插值,而不要直接使用读像素点得到的颜色索引号。详细讨论见文献[1]。

四、算法细节

下面将要给出的彩色图像的二维变形算法以多边形区域扫描转化的扫描线算法为框架,且使用相仿的数据结构,对目的多边形区域高效地进行逐点扫描,同时实现前面讨论的各种技术。

首先给出的是用C语言描述的数据结构:

struct Edge {

float x; /*在边的分类表ET中表示边的下端点的x坐标;在边的活化链

表AEL中则表示边与扫描线的交点的x坐标;*/

float dx; /*边的斜率的倒数;即沿扫描线间方向X的增量值*/

int Ymax; /*边的上端点的y坐标*/

float Rx; /*在ET中表示边的下端点*/

float Ry; /*的反变换坐标;在AEL中则表示边与扫描线交点的反变换坐标*

/

表float dRx; /*沿扫描线间方向,反变*/

float dRy; /*换坐标(Rx,Ry)的增量值*/

struct Edge *next;/*指向下一条边的指针*/

}; /*多边形的边的信息*/

struct Edge *ET[YResolution];

/*边的分类表,按边的下端点的纵坐标Y对非水平边进行分类的指针数组。

下端点的Y值等于i的边归入第i类,同一类中,各边按X值及△X的值递增顺序排列;YResolution为扫描线数目*/

struct Edye *AEL;

表 /*边的活化链表,由与当前扫描线相交的所有多边形的边组成,记录了多边形边沿当前扫描线的交点序列。*/

struct Polygon {

int npts; /*多边形顶点数*/

struct Point *Pts;

/*多边形的顶点序列*/

}; /*多边形信息*/

struct Point {

int X;

int Y; /*顶点坐标*/

float Rx;

float Ry; /*顶点的反变换坐标*/

}; /*多边形各顶点的信息*/

注意以上注释中边的下端点指纵坐标值较小的一端,另一端即为上端点。

以下则为算法的详细步骤:

1.数据准备

对于每一条非水平边QiQi+1,设Qi与Qi+1的坐标分别为(Xi,Yi)

及(X

i+1,Yi+

1);其反变换坐标为(Rxi,Ryi)及(RXi+1,RYi+

1)。

则按以下各式对此边的信息结构各域进行填写:

X=Xi,Yi<Yi+1

Xi+1,Yi>Yi+1

RX=RXi,Yi<Yi+1

RXi+1,Yi>Yi+1

RY=RYi,Yi<Yi+1

RYi+1,Yi>Yi+1

dx=(xi-xi+

1)/(yi-yi+

1)

Ymax=max(yi,yi+

1)

dRx=(Rxi-Rxi+

1)/(yi-yi+

1)

dRy=(Ryi-Ryi+

1)/(yi-yi+

1)

然后将其插入链表ET[min(yi,yi+

1)]中。活化边表AEL置空。

当前扫描线纵坐标y取为0,即最小序号。

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月

下载文档

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

网友最新关注

天上的星星
谈中学生出国留学之利与弊
作业完不成就真该惩罚吗?
中学生打工利弊谈
中学生打工利弊谈
作业完不成惩罚?
中学生打工利弊谈
中学生课外时间应多读名著
合理运用惩罚
出国留学要自强
人类会自己毁灭地球
中学生要不要读名著
中学生留学利大还是弊大
武侠小说不宜读
中学生出国留学利弊几何
国际条约中的冲突条款评析(1)论文
谈谈海岛立法的几个问题(1)论文
浅谈理解应从倾听开始——谈数学课堂学生倾听习惯的培养
国际图联家谱地方文献专业组及其在第68届大会中的活动
中国地方志的史料价值及其利用
欧盟利息税指令及其对我国的借鉴(1)论文
略论俄罗斯军人保险制度的特点(1)论文
浅析民国时期西南地区的边疆教育研究
简论青少年网络道德教育的思考
关于青少年网络道德教育的公共治理
《中国少数民族古籍论》评介
人道主义干涉在国际法中的地位及其前景 (上)(1)论文
网络环境下云南地方文献信息资源建设
关于科学发展混在企业管理中的意义和作用
浅谈英语课堂学生提问的行动研究
《中彩那天》 美文欣赏
《七月的天山》作者简介
《七月的天山》整体阅读感知
《七月的天山》重点句子意思
《中彩那天》 主旨 线索
《七月的天山》相关资料
《七月的天山》重点字词意思
《中彩那天》 同步范文一
《七月的天山》考点练兵
《七月的天山》随堂练习 巩固篇
《七月的天山》教学重点
《中彩那天》 作者简介
《中彩那天》考点练兵 一
《七月的天山》教学难点
《七月的天山》重点字词梳理