【MATLAB】图像处理相关函数dftfilt函数

function g = dftfilt(f, H)
% DFTFILT performs frequency domain filtering.
%   G = DFTFILT(F, H) filters F in the frequency domain using the filter
%   transfer function H. The output, G, is the filtered image, which has
%   the same size as F. DFTFILT automatically pads F to be the same size as
%   H. Function PADEDESIZE can be used to determine an appropriate size
%   for H.
%   G = DFTFILT(F,H)使用滤波器传递函数H在频域中对输入图像F滤波。 输出G是滤波后的图像,
%   其大小与F相同。DFTFILT自动将F填充到与H相同的大小 ,PADEDESIZE函数可用于确定H的合适大小。
%
%   DFTFILT assumes that F is real and that H is a real, uncentered,
%   circularly-symmetric filter function.
%   DFTFILT假设F是实数,H是实数,未中心,循环对称的滤波函数。

% Obtain the FFT of the padded input.
% 获取填充之后的FFT变换
F = fft2(f, size(H, 1), size(H, 2));
% Perform filtering
% 滤波
g = real(ifft2(H .* F));
% Crop to orihinal size
% 剪切到原始尺寸
g = g(1 : size(f, 1), 1 : size(f, 2));

该函数可接受输入图像和一个滤波函数,可处理所有的滤波细节并输出经滤波和剪切后的图像。

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
MATLAB中的空域滤波频域滤波是数字图像处理中常用的两种图像滤波方法。空域滤波是指在图像的原始像素域进行滤波操作,它是一种直接操作像素的方式。频域滤波则是将图像转换到频域进行滤波,这里所说的频域指的是图像的二维傅里叶变换域或者小波变换域等。 在MATLAB中,你可以使用一些内置函数来完成空域和频域滤波。空域滤波可以使用imfilter()函数来实现,该函数提供了多种不同类型的滤波器,包括平滑、锐化、边缘检测等。而频域滤波则需要将图像先进行傅里叶变换或小波变换,然后再使用一些函数进行滤波处理,例如dftfilt()函数和wavedec2()函数等。 下面是空域和频域滤波的简单示例代码: 空域滤波: ```matlab % 读取图像 img = imread('lena.png'); % 创建一个平均滤波器 h = fspecial('average', [3 3]); % 对图像进行滤波处理 img_filtered = imfilter(img, h); % 显示结果 figure; subplot(1, 2, 1), imshow(img), title('原始图像'); subplot(1, 2, 2), imshow(img_filtered), title('平滑处理后的图像'); ``` 频域滤波: ```matlab % 读取图像 img = imread('lena.png'); % 对图像进行傅里叶变换 img_fft = fft2(img); % 构造一个高斯滤波器 sigma = 10; [M, N] = size(img); [X, Y] = meshgrid(1:N, 1:M); centerX = ceil(N/2); centerY = ceil(M/2); h = exp(-((X-centerX).^2 + (Y-centerY).^2)/(2*sigma^2)); % 对频域数据进行滤波处理 img_fft_filtered = img_fft .* h; % 对处理后的数据进行傅里叶反变换 img_filtered = ifft2(img_fft_filtered); % 显示结果 figure; subplot(1, 2, 1), imshow(img), title('原始图像'); subplot(1, 2, 2), imshow(uint8(abs(img_filtered))), title('高斯滤波处理后的图像'); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThetaQing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值