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

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;
}
///先膨胀再腐蚀为闭运算,反之为开运算,这个程序效果不错,是做飞思卡尔摄像头的,才做的图像处理,虽然实际小车跑时效果不怎么样当是作为分析还是很有效的

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值