matlab实现高斯滤波代码
时间: 2024-09-22 10:09:46 浏览: 50
Matlab实现高斯滤波
在MATLAB中,高斯滤波是一种常用的图像平滑处理技术,可以减少噪声并保持边缘信息。以下是使用内置函数`imgaussfilt`来实现高斯滤波的基本代码:
```matlab
% 加载图像(这里假设你有一个名为'input_image.jpg'的图片)
image = imread('input_image.jpg');
% 定义高斯核的标准差(sigma),可以根据需要调整
sigma = 2; % 可以尝试更改这个值以改变滤波效果
% 使用imgaussfilt函数进行高斯滤波
filtered_image = imgaussfilt(image, sigma);
% 显示原图和滤波后的图像
figure;
subplot(1,2,1), imshow(image), title('Original Image');
subplot(1,2,2), imshow(filtered_image), title(sprintf('Filtered Image (Sigma = %.2f)', sigma));
% 保存滤波后的图像
imwrite(filtered_image, 'output_filtered_image.jpg');
```
在这个例子中,`imgaussfilt`函数接收两个输入:图像数据和标准差。标准差越大,滤波的效果越平滑。
阅读全文