matlab图像空域滤波增强

2025-09-28 12:40:33

1、Matlab软件中对图像进行空域滤波对应的函数主要有以下几种函数

         J=imnoise(I,type,parameters);

其中,I表示原始图像,type表示噪声类型,parameters噪声类型对应的参数

         h=fspecial(type,para);

         J=filter2(h,I);

其中,I表示原始图像,J表示输出图像,fspecial函数用于对图像进行平滑滤波,type表示算子类型,para对应的参数

         J=medfilt2(A,[m,n]);

其中,m,n默认值为3的情况下执行中值滤波,每个输出像素为m行n列邻域的均值

        J=wiener2(I,[M N],noise);

wiener2函数用于对图像进行自适应滤波,表示使用M×N大小领域局部图像均值与偏差,采用像素式自适应滤波器对图像进行滤波

2、imnoise函数用与给一副图片添加不同类型的噪声

示例:对图像添加高斯噪声

编写对应的m文件如下:

     clear all;

     I=imread('coins.png');

     J=imnoise(I,'gaussian',0,0.005);

     subplot(1,2,1)

     imshow(I);

     title('原始图像')

     subplot(1,2,2)

     imshow(J);

     title('加入高斯噪声后图像');

程序运行结果如下图:

matlab图像空域滤波增强

3、平滑滤波器的输出响应是包含在滤波模版领域内像素的简单平均值,因此这些滤波器也称为均值滤波器,均值滤波主要用于减噪,去除图像中不相关的部分。

示例:对图像添加高斯噪声,然后进行平滑滤波

编写对应的m文件如下:

       clear all;

       I=imread('coins.png');

      J=imnoise(I,'gaussian',0,0.005);

      subplot(1,3,1)

      imshow(I);

      title('原始图像')

      subplot(1,3,2)

      imshow(J);

      title('加入高斯噪声后图像');

      J2=filter2(fspecial('average',5),J)/255;

      subplot(1,3,3)

      imshow(J2,[]);

      title('平滑滤波后图像');

程序运行结果如下图:

matlab图像空域滤波增强

4、中值滤波器是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术

示例:对图像添加噪声,利用中值滤波器对其进行滤波

编写对应的m文件如下:

      clear all;

      I=imread('cameraman.tif');

      J=imnoise(I,'gaussian',0,0.005);

      subplot(1,3,1)

      imshow(I);

      title('原始图像')

      subplot(1,3,2)

      imshow(J);

      title('加入高斯噪声后图像');

      J1=medfilt2(J);

      subplot(1,3,3)

      imshow(J1,[]);

      title('中值滤波后图像');

程序运行结果如下图:

matlab图像空域滤波增强

5、自适应滤波器:根据环境的改变,使用自适应算法来改变滤波器的参数和结构

示例:对图像添加噪声,用自适应滤波器对图像进行滤波

编写对应的m文件如下:

      clear all;

      I=imread('peppers.png');

      I=rgb2gray(I);

      J=imnoise(I,'gaussian',0,0.005);

      subplot(1,3,1)

      imshow(I);

      title('原始图像')

      subplot(1,3,2)

      imshow(J);

      title('加入高斯噪声后图像');

      J1=wiener2(J,[5,5]);

      subplot(1,3,3)

      imshow(J1,[]);

      title('自适应滤波后图像');

程序运行结果如下图:

matlab图像空域滤波增强

6、锐化滤波器:图像锐化有两个目的,一是为了增强图像的边缘,使模糊的图像变得清晰,二是提取目标的边界,便于对图像进行分割,对目标区域进行识别,常用的锐化滤波器算子有Sobel算子,prewitt算子,LOG算子

示例:利用线性滤波器对图像进行锐化处理

编写对应的m文件如下:

      clear all;

      I=imread('cameraman.tif');

     subplot(2,2,1)

     imshow(I);

     title('原始图像')

     J=filter2(fspecial('sobel'),I)

     subplot(2,2,2)

     imshow(J);

     title('sobel算子锐化滤波图像');

     J1=filter2(fspecial('prewitt'),I)

     subplot(2,2,3)

     imshow(J);

     title('prewitt算子锐化滤波图像');

    J2=filter2(fspecial('log'),I)

    subplot(2,2,4)

    imshow(J2);

    title('log算子锐化滤波图像');

程序运行结果如下图:

matlab图像空域滤波增强

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢