网站大量收购闲置独家精品文档,联系QQ:2885784924

汪老师课件3二维图元的光栅化处理.ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 非加权区域采样方法性质 (1)像素宽度与相交区域面积成正比,和直线段与像素中心点的距离成反比。 (2)直线与像素不相交,对象素的宽度没有影响。 (3)相交区域面积相同,像素的亮度相同,与相交区域的几何位置无关。 * 用离散方法求近似面积,确定像素的显示灰度。离散方法: (1)把像素细分成n个子像素; (2)计算子像素中心落在直线段区域内的个数,记为k; (3)k/n为相交区域面积近似值。 * 3.3加权区域采样方法 改进非加权区域采样方法性质三: 相交区域对象素亮度依赖于该区域与像素中心的距离。相交面积相同,像素亮度可能不同。 更符合视觉系统对图像的处理方式。 d dA * 权函数:W(X,Y), 高斯函数 或经验值,可自定义; 权性(归一性): W(X,Y)=1:非加权情形。 直线与像素相交,相交区域为A’,则直线对象素的亮度的贡献为: d dA A’ * 加权区域采样算法(直线段情形) 求直线段与像素的相交区域A’; 计算 的值; 用上面的值乘以像素的最大灰度值,即为像素的显示灰度值。 * 离散算法: 分割像素成n个子像素,{Ai},面积为 1/n,每个子像素对原像素的亮度的贡献为 将各权值保存在一张加权表中。 求所有子像素中心落在直线段内的之像素集 计算这些子像素对原像素亮度的和 * 加权表的取法 * 程序作业 实现一个裁剪算法。 修改扫描线算法,使它能处理边自交的多边形? 实现一个反混淆的算法。 * * 算法1: * 算法2: * 引入栅栏,以减少填充算法访问象素的次数。 栅栏:与扫描线垂直的直线,通常过一顶点,且把多边形分为左右二半。 基本思想:扫描线与多边形的边求交,将交点与栅栏之间的象素取补。 减少了象素重复访问数目,但不彻底。 * 2.5 边标志算法—改进了的栅栏填充算法 对每个象素访问一次。 算法: step1:对多边形每条边作直线扫描转换,亦即对多边形边界所经过的象素打上边标志。 step2:填充,沿扫描线,从左向右访问各象素。使用布尔量inside来指示当前点状态,初值inside为假,访问到打上标志的象素,inside取反。 直观理解:从左向右走,碰到边标记点取反。 * 有序边表算法与边标志算法比较 软件现实:执行速度几乎相同; 硬件:边标志算法不必维护边表及对它排序,更适合硬件实现,速度要快一到二个数量级. * 2.6 扫描转换扇形区域 扇形区域的描述 原理:同扫描转换多边形 问题:如何确定扫描线与直线段和圆弧段的相交顺序 方法:分类 * 扫描转换扇形区域 假设 P1点落在第一象限 ,扇形区域的扫描转换 分四种情况 1、P2 落在第一象限 * 扫描转换扇形区域 2、P2落在第二象限,此时又分为两种情况 当 时 当 时 * 扫描转换扇形区域 3、 落在第三象限 4、 落在第四象限 * 2.7 种子填充法 以上方法按扫描线顺序,而种子填充法,内部一个点出发。 四向连通区域 八向连通区域 * 4连通与8连通区域的区别 连通性 对边界的要求 * 递归填充算法 内点表示的4连通区域 void FloodFill4(int x,int y,int oldColor,int newColor) { if(GetPixel(x,y) == oldColor) { PutPixel(x,y,newColor); FloodFill4(x,y+1,oldColor,newColor); FloodFill4(x,y-1,oldColor,newColor); FloodFill4(x-1,y,oldColor,newColor); FloodFill4(x+1,y,oldColor,newColor); } }/*end of FloodFill4() */ * * 种子填充算法(四向算法):允许从四个方向寻找下一象素,栈结构实现。 算法:种子象素入栈,当栈非空时,重复执行: 栈顶象素出栈; 将出栈象素置成多边形色; 四向检查象素,若其中某个象素不在边界对未置成多边形色,该象素入栈。 可用于填充带内孔的平面区域。 * 缺点: (1) 有些象素会入栈多次,降低算法效率;栈结构占空间。 (2) 递归执行,算法简单,但效率不高,区域内每一象素都引起一次递归,进/出栈,费时费内存。 改进算法,减少递归次数。 解决方法是用扫描线填充算法; * 2.8 扫描线填充算法 目标:减少递归层次 算法: Step1:栈顶象素出栈, Step2:沿扫描线对出

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档