写一个运用低通滤波、高通滤波、带阻滤波、同态滤波方法对图像进行滤波处理的matlab代码
时间: 2023-10-20 17:48:00 浏览: 58
以下是一个示例的MATLAB代码,展示了如何使用低通滤波、高通滤波、带阻滤波和同态滤波方法对图像进行滤波处理。
```matlab
% 读取图像
img = imread('input_image.jpg');
% 转换为灰度图像
gray_img = rgb2gray(img);
% 傅里叶变换
F = fftshift(fft2(double(gray_img)));
% 图像尺寸
[M, N] = size(F);
% 低通滤波(高斯滤波)
D0 = 50; % 截止频率
H_lp = exp(-(0.5*(meshgrid(1:N)-N/2).^2 + 0.5*(meshgrid(1:M)'-M/2).^2) / (2*D0^2)); % 高斯函数
filtered_img1 = real(ifft2(ifftshift(F .* H_lp)));
% 高通滤波(理想滤波器)
D0 = 50; % 截止频率
H_hp = ones(M, N);
H_hp((M/2-D0):(M/2+D0), (N/2-D0):(N/2+D0)) = 0; % 截止频率内为0,其余为1
filtered_img2 = real(ifft2(ifftshift(F .* H_hp)));
% 带阻滤波(巴特沃斯滤波器)
D0 = 50; % 截止频率
n = 4; % 阶数
H_bs = 1 ./ (1 + ((meshgrid(1:N)-N/2).^2 + (meshgrid(1:M)'-M/2).^2) ./ (D0^2)).^n; % 巴特沃斯函数
filtered_img3 = real(ifft2(ifftshift(F .* H_bs)));
% 同态滤波
sigma = 10; % 控制对比度增强的参数
gamma_l = 0.3; % 低频部分增益
gamma_h = 1.5; % 高频部分增益
H_hom = gamma_h - gamma_l * exp(-sigma^2 * ((meshgrid(1:N)-N/2).^2 + (meshgrid(1:M)'-M/2).^2)); % 同态滤波函数
filtered_img4 = real(ifft2(ifftshift(F .* H_hom)));
% 显示结果
subplot(2, 3, 1), imshow(img), title('原始图像');
subplot(2, 3, 2), imshow(gray_img), title('灰度图像');
subplot(2, 3, 3), imshow(filtered_img1, []), title('低通滤波');
subplot(2, 3, 4), imshow(filtered_img2, []), title('高通滤波');
subplot(2, 3, 5), imshow(filtered_img3, []), title('带阻滤波');
subplot(2, 3, 6), imshow(filtered_img4, []), title('同态滤波');
```
请注意,这只是一个示例代码,具体的实现可能会根据你的需求而有所不同。此外,代码中使用了一些滤波器函数(例如高斯函数、巴特沃斯函数),你可以根据需要调整参数和滤波器函数的定义。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)