您的位置:首页 > 编程语言

图像的腐蚀与膨胀--代码

2012-08-19 21:19 253 查看
void shousuo(void)//收缩达到腐蚀的效果

{

int i,j;

for(i=0;i<=ROW_VALUE;i++)//将二值化数组赋给为二值化的数组以减小内存消耗

for(j=0;j<=Column_value;j++)

Buff[i][j]=Image[i][j];

for(i=1;i<ROW_VALUE-1;i++)/*处理内部元素*/

for(j=1;j<Column_value-1;j++)

if(Buff[i][j-1]==0||Buff[i][j+1]==0||Buff[i-1][j]==0||Buff[i+1][j]==0)

Image[i][j]=0;

for(i=1;i<ROW_VALUE-1;i++)/*处理边界元素*/

{

if(Buff[i-1][0]==0||Buff[i+1][0]==0)

Image[i][0]=0;

if(Buff[i-1][Column_value-1]==0||Buff[i+1][Column_value-1]==0)

Image[i][Column_value-1]=0;

}

for(j=0;j<Column_value-1;j++)/*处理边界元素*/

{

if(Buff[0][j-1]==0||Buff[0][j+1]==0)

Image[0][j]=0;

if(Buff[ROW_VALUE-1][j-1]==0||Buff[ROW_VALUE-1][j+1]==0)

Image[ROW_VALUE-1][j]=0;

}

if(Buff[0][1]==0||Buff[1][0]==0)/*以下几条语句处理四个角的元素*/

Image[0][0]=0;

if(Buff[0][Column_value-2]==0||Buff[1][Column_value-1]==0)

Image[0][Column_value-1]=0;

if(Buff[ROW_VALUE-2][0]==0||Buff[ROW_VALUE-1][1]==0)

Image[ROW_VALUE-1][0]=0;

if(Buff[ROW_VALUE-2][Column_value-1]==0||Buff[ROW_VALUE-1][Column_value-2]==0)

Image[ROW_VALUE-1][Column_value-1]=0;

}

void pengzhang(void)//达到膨胀效果程序

{

int i,j;

for(i=0;i<=ROW_VALUE;i++)//将二值化数组赋给为二值化的数组以减小内存消耗

for(j=0;j<=Column_value;j++)

Buff[i][j]=Image[i][j];

for(i=1;i<ROW_VALUE-1;i++)

for(j=1;j<Column_value-1;j++)

if(Buff[i][j-1]==1||Buff[i][j+1]==1||Buff[i-1][j]==1||Buff[i+1][j]==1)

Image[i][j]=1;

for(i=1;i<ROW_VALUE-1;i++)

{

if(Buff[i-1][0]==1||Buff[i+1][0]==1)

Image[i][0]=1;

if(Buff[i-1][Column_value-1]==1||Buff[i+1][Column_value-1]==1)

Image[i][Column_value-1]=1;

}

for(j=0;j<Column_value-1;j++)

{

if(Buff[0][j-1]==1||Buff[0][j+1]==1)

Image[0][j]=1;

if(Buff[ROW_VALUE-1][j-1]==1||Buff[ROW_VALUE-1][j+1]==1)

Image[ROW_VALUE-1][j]=1;

}

if(Buff[0][1]==1||Buff[1][0]==1)

Image[0][0]=1;

if(Buff[0][Column_value-2]==1||Buff[1][Column_value-1]==1)

Image[0][Column_value-1]=1;

if(Buff[ROW_VALUE-2][0]==1||Buff[ROW_VALUE-1][1]==1)

Image[ROW_VALUE-1][0]=1;

if(Buff[ROW_VALUE-2][Column_value-1]==1||Buff[ROW_VALUE-1][Column_value-2]==1)

Image[ROW_VALUE-1][Column_value-1]=1;

}

///先膨胀再腐蚀为闭运算,反之为开运算,这个程序效果不错,是做飞思卡尔摄像头的,才做的图像处理,虽然实际小车跑时效果不怎么样当是作为分析还是很有效的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: