欢迎来到天天文库
浏览记录
ID:36229674
大小:34.00 KB
页数:6页
时间:2019-05-07
《数字图像处理快速区域分割》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、区域标记算法 这里介绍区域标记算法,所谓区域标记就是把连续区域作同一个标记,常见的四邻域标记算法和八邻域标记算法。现在就介绍它们的基本思想。1、 四邻域标记算法:1) 判断此点四邻域中的最左,最上有没有点,如果都没有点,则表示一个新的区域的开始。2) 如果此点四邻域中的最左有点,最上没有点,则标记此点为最左点的值;如果此点四邻域中的最左没有点,最上有点,则标记此点为最上点的值。3) 如果此点四邻域中的最左有点,最上都有点,则标记此点为这两个中的最
2、小的标记点,并修改大标记为小标记。2、 八邻域标记算法: 1) 判断此点八邻域中的最左,左上,最上,上右点的情况。如果都没有点,则表示一个新的区域的开始。2) 如果此点八邻域中的最左有点,上右都有点,则标记此点为这两个中的最小的标记点,并修改大标记为小标记。3) 如果此点八邻域中的左上有点,上右都有点,则标记此点为这两个中的最小的标记点,并修改大标记为小标记。4) 否则按照最左,左上,最上,上右的顺序,标记此点为四个中的一个。注意:在这个过程中也可以求出每个不同标记点的数量,矩形区域。
3、 3、实例/*l 函数说明:把I[off]的连续区域的标识为num,并求出其区域矩形l 参数说明:I,为图像数组,off为坐标偏移量,num为标记,rect为标记的矩形范围l 返回值:int,为标记是num的点数。*/intFillAreaFlag(LPBYTEI,intoff,intnum,CRect&rect){ boolbNew; intm,n,i,j,k,nDot=1,offset,offtemp,yMin; intdxy[8],x,y;
4、 dxy[0]=-ImageWidth-1; dxy[1]=-ImageWidth; dxy[2]=-ImageWidth+1; dxy[3]=-1; dxy[4]=1; dxy[5]=ImageWidth-1; dxy[6]=ImageWidth; dxy[7]=ImageW
5、idth+1; rect.left=65535;rect.right=-1; rect.bottom=65535; rect.top=-1; if(I[off]>0&&I[off]!=num) { I[off]=num; x=off%ImageWidth; y=off/ImageWidth; if(x6、 rect.left=x; if(x>rect.right) rect.right=x; if(yrect.top) rect.top=y; } else7、 return0; for(i=y;i8、set]==num) { for(k=0;k<8;k++)
6、 rect.left=x; if(x>rect.right) rect.right=x; if(yrect.top) rect.top=y; } else
7、 return0; for(i=y;i8、set]==num) { for(k=0;k<8;k++)
8、set]==num) { for(k=0;k<8;k++)
此文档下载收益归作者所有