4连通域边界填充算法和8连通域边界填充算法C++

4连通域边界填充算法和8连通域边界填充算法

 

//边界填充算法
//边界填充算法-4连通域
void boundaryFill4(int x,int y,int fillColor,int borderColor)
{
	int interiorColor;
	getPixel(x,y,interiorColor);
	if((interiorColor != borderColor)&&(interiorColor != fillColor))
	{
	setPixel(x,y);//set color of pixel to fillColor
	boundaryFill4(x+1,y,fillColor,borderColor);
	boundaryFill4(x-1,y,fillColor,borderColor);
	boundaryFill4(x,y+1,fillColor,borderColor);
	boundaryFill4(x,y-1,fillColor,borderColor);
	}
}
//边界填充算法-8连通域
void boundaryFill8(int x,int y,int fillColor,int borderColor)
{
	int interiorColor;
	getPixel(x,y,interiorColor);
	if((interiorColor != borderColor)&&(interiorColor != fillColor))
	{
	setPixel(x,y);//set color of pixel to fillColor
	boundaryFill8(x+1,y,fillColor,borderColor);
	boundaryFill8(x-1,y,fillColor,borderColor);
	boundaryFill8(x,y+1,fillColor,borderColor);
	boundaryFill8(x,y-1,fillColor,borderColor);
	boundaryFill8(x-1,y-1,fillColor,borderColor);
	boundaryFill8(x-1,y+1,fillColor,borderColor);
	boundaryFill8(x+1,y-1,fillColor,borderColor);
	boundaryFill8(x+1,y+1,fillColor,borderColor);
	}
	
}

 

如果您觉得这篇博文有用,请访问我的个人站:http://www.stubbornhuang.com,更多博文干货等着您。

 

 

 

你可能感兴趣的:(C++,计算机图形图像)