MATLAB实现散斑图像降噪滤波
时间: 2023-11-07 16:58:55 浏览: 125
散斑图像通常包含噪声,需要进行降噪滤波。MATLAB提供了很多降噪滤波函数,包括中值滤波、高斯滤波、小波变换等等。下面以高斯滤波为例进行介绍。
1. 读取散斑图像并显示。
```matlab
im = imread('scintillation.png');
imshow(im);
```
2. 对图像进行高斯滤波。
```matlab
im_filtered = imgaussfilt(im, 3);
imshow(im_filtered);
```
其中,第二个参数3表示高斯核的标准差,可以根据需要进行调整。
3. 对比原始图像和滤波后的图像。
```matlab
subplot(1,2,1);
imshow(im);
title('Original Image');
subplot(1,2,2);
imshow(im_filtered);
title('Filtered Image');
```
完整代码如下:
```matlab
im = imread('scintillation.png');
imshow(im);
im_filtered = imgaussfilt(im, 3);
imshow(im_filtered);
subplot(1,2,1);
imshow(im);
title('Original Image');
subplot(1,2,2);
imshow(im_filtered);
title('Filtered Image');
```
注意:在进行滤波之前,需要将图像转换为灰度图像。如果是彩色图像,可以使用rgb2gray函数进行转换。
阅读全文