三、基于MATLAB的数字图像处理————频率域滤波(一)

本文介绍MATLAB中基于二维离散傅里叶变换(DFT)的数字图像处理方法,包括频率域滤波的基本原理、实现步骤及空间滤波与频率域滤波的对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(三)基于MATLAB的数字图像处理————频率域滤波

一、二维离散傅里叶变换
令f(x,y)表示一幅大小为M*N像素的图像,其中x=0,1,2,…,M-1,y=0,1,2,…N-1
由**F(u,v)*表示的二维离散傅里叶变换(DFT)为:
在这里插入图片描述
式中,u=0,1,2…,M-1,v=0,1,2,…,N-1。显然,F也是大小为MN的矩形区域,通常称为频率矩形。
离散傅里叶反变换(IDFT)的形式为:
在这里插入图片描述
式中,x=0,1,2,…,M-1
y=0,1,2,…,N-1
。由 F(u,v) 可以得到 f(x,y)
对于 f(x,y) 为实函数,他的 DFT 变换具有周期性:
在这里插入图片描述
他的 IDFT 也具有周期性:
在这里插入图片描述
R(u,v)I(u,v) 分别表示 F(u,v) 的实部和虚部,则傅里叶谱定义为
在这里插入图片描述
变换的相角定义为
在这里插入图片描述
F(u,v)

### 关于数字图像处理中的频率域滤波 #### 什么是频率域滤波频率域滤波种基于频谱特性的图像增强技术。该方法首先将图像转换到频率域,在此领域应用特定的滤波器,再逆变换回空间域得到处理后的图像。这种方法对于去除周期性噪声特别有用。 #### 频率域滤波的主要步骤 1. **预处理** 对输入图像进行零填充或其他形式的扩展,以减少卷积过程中可能出现的边界效应[^3]。 2. **快速傅里叶变换 (FFT)** 使用 `fft` 或者二维版本 `fft2` 函数计算原始图像的离散傅立叶变换(DFT),从而获得其频谱表示。这步骤可以借助MATLAB内置函数轻松完成。 3. **构建并应用滤波器** 设计合适的低通、高通或者其他类型的滤波器,并将其应用于DFT结果上。常见的有理想低通/高通滤波(Ideal LPF/HPF), 巴特沃斯(Butterworth)以及指数型(Exponential)等不同种类的滤波器。 4. **反向快速傅里叶变换 (IFFT)** 应用了所需操作之后,执行逆离散傅立叶变换(IDFT),通常也叫做 IFFT, 来恢复经过修改后的图像数据。同样地,MATLAB 提供了相应的命令如 `ifft`, `ifft2` 可用于这过程. 5. **后处理** 如果之前进行了任何尺寸上的调整,则现在应该裁剪回到原来的大小;另外还需要考虑如何处理复数值的结果——取绝对值或实部作为最终输出的部分。 下面给出段简单的 MATLAB 代码示例来展示上述流程: ```matlab % 加载测试图片 img = imread('test_image.jpg'); gray_img = rgb2gray(img); % 执行 FFT 并移动零频分量至中心位置 dft_shifted = fftshift(fft2(double(gray_img))); % 创建个理想的低通滤波掩模 rows = size(dft_shifted, 1); cols = size(dft_shifted, 2); crow = floor(rows / 2); ccol = floor(cols / 2); mask = ones(rows, cols); for i = 1:rows for j = 1:cols dist_from_center = sqrt((i-crow)^2 + (j-ccol)^2); mask(i,j) = exp(-(dist_from_center^2)/(2*30^2)); % Gaussian filter example end end % 应用滤波器 filtered_dft = dft_shifted .* double(mask); % 进行 IDFT 转换回来 filtered_img = real(ifft2(ifftshift(filtered_dft))); % 显示原图与滤波后的对比效果 figure; subplot(1,2,1), imshow(uint8(gray_img)), title('Original Image'); subplot(1,2,2), imshow(uint8(filtered_img)), title('Filtered Image'); ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值