zoukankan      html  css  js  c++  java
  • 【数字图像处理】图像的平滑处理

    图像平滑的目的

    • 模糊:在提取较大目标前,去除太小细节,或将目标内的小间断连接起来。
    • 消除噪声:改善图像质量,降低干扰。

    平滑处滤波对图像的低频分量增强,同时削弱高频分量,用于消除图像中的随机噪声,起到平滑作用。

    图像平滑处理的基本方法

    • 领域平均法
    • 领域加权平均法
    • 选择式掩模法
    • 中值滤波

     

    领域平均法

    模板在图像上移动,模板的中心对应目标像素点,在模板范围内对目标像素点进行卷积运算(对应系数乘对应像素点),然后相加除上模板大小得到均值,这个均值就是目标像素点处理后的值。

     如图,对5行四列的图像进行3*3模板的邻域平均法处理:

    邻域平均法存在的问题

    抑制了高频成分,使用图像变得模糊,平滑效果不好,减少噪音的同时,损失了高频信息。
    注意:模板不宜过大,因为模板越大对速度有直接影响,且模板大小越大变换后图像越模糊,特别是在边缘和细节处

    优点:算法简答,计算速度快。
    缺点:造成图像一定程度上的模糊。

    3*3模板邻域平均法示例:

    Use_ROWS:行

    Use_Line:列

    图像边界不处理:只处理1-----n-1。

                 int count = 0;                   
                         for(int i = 1; i < Use_ROWS-1; i++)   
                        {                  
                            for(int j = 1; j < Use_Line-1; j++)
                            {               
                              //邻域平均法
                              count=0;
                              count = Image_Use[i][j]+Image_Use[i][j-1]+Image_Use[i][j+1]+Image_Use[i-1][j]+Image_Use[i-1][j-1]+Image_Use[i-1][j+1]+Image_Use[i+1][j]+Image_Use[i+1][j-1]+Image_Use[i+1][j+1];
                              Image_Use[i][j] = (int)(count/9);
                            }
                        }

    邻域加权平均法

    加权:系数不再全部为1。

    选择式掩模法

    中值滤波

    中值滤波器,使用滤波器窗口包含区域的像素值的中值来得到窗口中心的像素值,本质上是一种非线性平滑滤波器。

    中值滤波:抑制噪声又可以尽量保持图像细节,对滤除脉冲干扰及图像扫描噪声最为有效。不

    注意:对一些细节多,特别是点,线,尖顶细节多的图像不宜采用中值滤波。

    不同的窗口选择

    常用窗口

     复合型中值滤波介绍

    3*3模板的中值滤波处理

    int cmp(const void *a,const void *b)
    {
        return *(int *)a-*(int *)b;//这是从小到大排序,若是从大到小改成: return *(int *)b-*(int *)a;
    }
              int temp[9],index=0;                   
                         for(int i = 1; i < Use_ROWS-1; i++)   
                        {   
                            for(int j = 1; j < Use_Line-1; j++)
                            { 
                              //中值滤波
                              memset(temp, 0, sizeof(temp));
                              temp[index]=Image_Use[i][j];
                              temp[index+1]=Image_Use[i-1][j];
                              temp[index+2]=Image_Use[i-1][j-1];
                              temp[index+3]=Image_Use[i-1][j+1];
                              temp[index+4]=Image_Use[i][j-1];
                              temp[index+5]=Image_Use[i][j+1];
                              temp[index+6]=Image_Use[i+1][j];
                              temp[index+7]=Image_Use[i+1][j-1];
                              temp[index+8]=Image_Use[i+1][j+1];
                              qsort(temp,9,sizeof(temp[0]),cmp);//(数组,需要排序的数字个数,单个数字所占内存大小,比较函数)
                              Image_Use[i][j] = temp[4];
    
                            }
                        }

              

  • 相关阅读:
    Advanced Office Password Recovery 3.04 Professional Edition
    免费的ISO文件创建工具!
    opera for windows 上的阿里旺旺调用
    还不错,字母成熟了些!
    360的报应:超级巡警发布通用软件卸载工具 暂时只支持360
    未名晓店
    aMSN/QQ for Ubuntu 10.04
    IDENTITY
    最简单的bug管理系统
    代理网站
  • 原文地址:https://www.cnblogs.com/-wenli/p/11504029.html
Copyright © 2011-2022 走看看