xcxd.net
当前位置:首页 >> 扫描线填充算法 >>

扫描线填充算法

如果是用线填充,程序如下.如果是用点填充需要用到堆栈和系统底层库函数或者用画点函数putpixel(). 下面实例是用扫描线填充长方形,开始要输入长方形的左上顶点坐标和右下顶点坐标以及填充扫描线的间距(>=1),如果间距等于1,就

种子优点是非常简单,缺点是需要大量栈空间来存储相邻的点.改进的方法就是:通过沿扫描线填充水平像素段,来处理四连通或八连通相邻点,这样就仅仅只需要将每个水平像素段的起始位置压入栈,而不需要将当前位置周围尚未处理的相邻像素都压入栈,从而可以节省大量的栈空间.

1. 对多边形的每一条边进行扫描转换,即对 多边形边界所经过的象素作一个边界标志. 2.填充.对每条与多边形相交的扫描线,按 从左到右的顺序,逐个访问该扫描线上的象 素. 取一个布尔变量inside来指示当前点的状态, 若点在多边形内,则inside为真.若点在多 边形外,则inside为假. Inside 的初始值为假,每当当前访问象素为 被打上标志的点,就把inside取反.对未打 标志的点,inside不变.

这是从书上第99页节录下来的,试试吧!#define SET_BIT_MACRO( a , b ) if( image[a][b] == HIGH){ \ image[a][b] = color; cnt++; }/*** image: 影像阵列* xs, ys: 开始位置* color: 比对的颜色*/void pixelset(unsigned char image[Y_SIZE][X_SIZE],

扫描线种子填充算法思想首先填充种子所在的尚未填充的一区段,然后确定与这一区段相邻的上下两条扫描线上位于该区段内是否存在需要填充的新区段,如果存在,则依次把每个新区段最右端的象素作为种子放入堆栈.反复这个过程,直到堆

http://www.diybl.com/course/3_program/c++/cppsl/2008222/100446_2.html 去这里找吧

实现人工智能的基础是大数据应用,现在有很多关于机器学习的算法,用什么语言实现不重要关键是算法能不能理解,这里推荐《数学之美》,谷歌翻译引擎的算法介绍,这是很著名的人工智能,还有Jiawei Han,Micheline Kamber的《数据挖掘

网站首页 | 网站地图
All rights reserved Powered by www.xcxd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com