第四章 输出图元的属性

26
第第第 第第第第第第第

Upload: brielle-mendoza

Post on 02-Jan-2016

64 views

Category:

Documents


5 download

DESCRIPTION

第四章 输出图元的属性. 颜色属性. RGB 颜色编码 RGB 0~1 颜色表 灰度 颜色的运算 颜色调和 OpenGL 颜色显示模型 RGB 定义 RGB 的值 RGBA 增加一个透明参数 0-1 ,背景色和前景色的绘制 Index 使用颜色查找表中的颜色. 颜色查找表( color lookup table). C M Y. 1- R =1- G 1- B. 扫描线多边形填充算法. 基本思想 求扫描线与多边形的交点的 x 坐标; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第四章 输出图元的属性

第四章 输出图元的属性

Page 2: 第四章 输出图元的属性

颜色属性• RGB 颜色编码 RGB 0~1

• 颜色表• 灰度• 颜色的运算 颜色调和• OpenGL 颜色显示模型 RGB 定义 RGB 的值 RGBA 增加一个透明参数 0-1 ,背景色和前景色的绘制 Index 使用颜色查找表中的颜色

Page 3: 第四章 输出图元的属性

颜色查找表( color lookup table)

Page 4: 第四章 输出图元的属性
Page 5: 第四章 输出图元的属性

CMY

1- R=1- G 1- B

Page 6: 第四章 输出图元的属性

扫描线多边形填充算法• 基本思想1. 求扫描线与多边形的交点

的 x 坐标;2. 对 x 坐标排序,成对的提

取交点,在二交点之间填充

• 奇点处理• 局部最高点、局部最低点

Page 7: 第四章 输出图元的属性

奇点处理• 较低或较高一条边缩短一条扫描线

y

Y+1

Y-1

Page 8: 第四章 输出图元的属性

扫描线多边形填充算法• 扫描线与多边形的交点的三种情况

• 相邻扫描线与同一边交点的坐标相关性

Y+1y

x X+1/m

Page 9: 第四章 输出图元的属性

活化边表的实现方法• 边表 Edge Table

– 水平边不存储;– 按最小 y 值排序;– 解决奇点问题;– 同一 y 按 x 坐标由小到大排序;– 存储筒

ymin ymax xc 1/m pointer 最低点 x 的坐标

• 活化边表 Active Edge Table

Page 10: 第四章 输出图元的属性

活化边表填充算法步骤

1. 建立边表2. 处理① 从最低扫描线开始,建立活化边表;② 将当前处理的边加入该表;③ 求扫描线与边的交点,成对的提取交点,对两

交点之间的部分填充;④ 修改活化边表 Xk+1=xk+1/m

⑤ 删除活化边表中到达尾部的边;重复② ~⑤ 直到活化边表为空。

Page 11: 第四章 输出图元的属性

(1,1) (5,1)

(7,7)

(1,10)

(3,3)

0

1

2

3

456

7

8

9

10

11

10 1 0 7 5 1/3 ∧

10 3 -2/7 7 3 1 ∧

Page 12: 第四章 输出图元的属性

算法步骤 活化边表

y=1

Y=2

Y=3

Y=7

Y=8

Y=10

10 1 0 7 5 1/3 ∧

10 1 0 10 3 -2/7 7 3 1

7 6 1/3 ∧

10 1 0 10 2 -2/7 7 7 1 7 7 1/3 ∧

10 1 0 10 2 -2/7 ∧

10 1 0 10 1 -2/7 ∧

Page 13: 第四章 输出图元的属性

边界填充算法(种子填充算法) Boundary-fillSeed-fill

• 区域和内点(种子)– 边界为某一颜色– 前景色(填充色)– 背景色– 4- 连通 /8- 连通

• 填充方法– 种子填充算法– 扫描线种子填充算法

Page 14: 第四章 输出图元的属性

种子填充算法• 已知:种子像素( x,y ),填充色,背景色,边界色1. 种子像素进栈2. 退栈,( x,y) 着色;3. ( x,y) 上、下、左、右像素,不是边界,未填充,进

栈;4. 重复 2~3 直到栈空

Page 15: 第四章 输出图元的属性

泛滥填充算法 flood-fill(扫描线种子填充算法)

• 种子像素进棧① 填充棧中像素所在扫描线上的内部像素② 上下扫描线上的左边界进棧;③ 退棧,直到棧中无像素,重复① ~③

Page 16: 第四章 输出图元的属性

扫描线种子填充算法

Page 17: 第四章 输出图元的属性
Page 18: 第四章 输出图元的属性

图案填充• 设置一个 Pattern ( m,n) 0~m-1;0~n-1

[ ] [ ]• 设置一个初始位置参考点 (xp, yp)

• 任意点( x,y) Pattern _color(i,j) i=x-xp mod m j=y-yp mod n

0 44 0 2 1 2

1 2 12 1 2

Page 19: 第四章 输出图元的属性

软填充 soft-fill• 填充色与背景颜色相结合的一种填充方法 soft-fill 或 tint-fill

• 线性软填充 F 为前景色 B 为背景色 线性组合 P=tF+(1-t)B t 为透明系数 0~1

• 前景色与背景色的操作 与 或 异或

Page 20: 第四章 输出图元的属性

反走样 Untialiasing

• 走样 aliasing 由于不充分取样而造成的信息失真• 反走样:校正不充分取样的过程 取样频率低造成走样• Nyquist 采样定理 采样频率应为出现在对象中的最高频率的两倍。 fs=2fmax

• 简单的方法:增加采样频率 提高分辨率• 具有多级灰度的显示器 :改变边缘像素的亮度光顺边界• 过取样:

像素划分为子像素 计算区域覆盖

Page 21: 第四章 输出图元的属性

直线段的过取样

• 单线法 将像素分割为子像素,统计沿线的子像素个数,( 左下角在多边形内)像素的亮度正比于子像素的个数。例:如图像素分为 3×3 ,亮度等级 3 ( 10 , 20 )亮度 3• 区域法 将单线设置为线宽与 像素等宽,求覆盖子像素数( 左下角有效)灰度等级 9 ,( 11 , 20 )亮度等级 5与背景色的平均Pixelcolor=(5*red+4*blue)/9

Page 22: 第四章 输出图元的属性

像素的加权掩模

• 希望直线的中心位置在确定整体亮度中有较大的贡献,即中心像素有较大的权。

• 方法 : 建立子像素的加权掩模 如图:总权为 16

适用区域法 1 2 1

2 4 2

1 2 1

Page 23: 第四章 输出图元的属性

过滤技术 • 构造过滤函数用一个连续的加权曲面 覆盖像素 例:•

Page 24: 第四章 输出图元的属性

像素移相• 可以对子像素编址的系统将电子束移至更接近于几何指定的位置可光顺沿线路径及边界的阶梯。

Page 25: 第四章 输出图元的属性

线亮度差的校正• 斜线像素之间的距离大• 水平与竖直线的亮度较小• 45º斜线的亮度最大

Page 26: 第四章 输出图元的属性

反走样区域边界• 使区域边界像素颜色较暗,从而消除台阶• 边界像素按其在多边形区域内的 面积大小决定像素的亮度等级图:三个子像素在多边形边界内• 面积覆盖计算计算梯形面积中线 =mxk+b-yk+0.5

高度为 1

Yk+0.5

yk

Yk-0.5xk-0.5 xk

xk+0.5