Matlab高斯降噪代码
时间: 2024-10-01 18:04:28 浏览: 29
matlab高斯金字塔代码-Gaussian_Pyramid_Laplacian_Pyramid_FFT:用于生成5个级别的高斯金字塔和拉普拉
Matlab中常用的高斯滤波(Gaussian Filtering)用于图像降噪,通常通过卷积操作实现。以下是一个简单的高斯降噪代码示例:
```matlab
% 加载图像
img = imread('your_image.jpg'); % 替换为你要处理的图片文件名
% 定义高斯核大小 (一般推荐5x5到7x7)
kernel_size = 5;
% 创建高斯核
gaussian_kernel = fspecial('gaussian', [kernel_size kernel_size], sigma); % sigma决定了噪声强度和滤波程度
sigma = sqrt(2) / (kernel_size * sqrt(6)); % 根据经验公式计算标准差
% 使用imfilter函数应用高斯滤波
filtered_img = imfilter(img, gaussian_kernel, 'replicate');
% 显示原图和去噪后的图像
figure;
subplot(1, 2, 1), imshow(img), title('Original Image');
subplot(1, 2, 2), imshow(filtered_img), title('Gaussian Filtered Image');
```
在这个例子中,`fspecial`函数生成了一个高斯核,`imfilter`函数则将这个核应用于输入图像。"replicate"选项指定了边缘值的处理方式,这里保持了原始边缘。
请注意,实际使用时可能需要调整高斯核的大小和标准差(sigma),以便达到理想的降噪效果。
阅读全文