📅  最后修改于: 2023-12-03 15:32:50.799000             🧑  作者: Mango
巴特沃斯低通滤波器是一种用于图像处理中的数字滤波器。它是一种经典的滤波器,常用于去除高频噪声和增强图像的低频部分。在 MATLAB 中,你可以使用 butter
函数来创建一个巴特沃斯低通滤波器,并使用 filter2
函数将其应用于图像。
% 读取图片(注意文件路径)
im = imread('path/to/image.png');
% 获取图像的尺寸
[m,n] = size(im);
% 创建一个巴特沃斯低通滤波器(使用5作为截止频率)
n = 5;
butterworth_lp = butter(10, n/(size(im,1)/2));
% 将滤波器应用于图像
filtered_im = filter2(butterworth_lp, im, 'same');
以上代码的作用是读取一张图片,并使用 butter
函数创建一个巴特沃斯低通滤波器。这里将低通滤波器的截止频率设置为图像高度的1/5。然后,我们使用 filter2
函数将滤波器应用于图像。这个函数会对图像进行卷积,使用滤波器来减少高频噪声并增强低频部分。
filter2
函数时,第三个参数是指卷积的方式。使用 'same'
表示输出与输入大小相同,这样可以避免边界的影响。在图像处理中,巴特沃斯低通滤波器是一种非常有用的数字滤波器。它可以帮助我们去除高频噪声,并增强图像的低频部分。在 MATLAB 中,你可以使用 butter
函数创建一个低通滤波器,然后使用 filter2
函数将其应用于图像。需要调整截止频率的值,才能得到最佳的效果。