CV-FFT算法总结

BJUT数字与图像处理作业

在下载了anaconda(python3.6)的版本下,在anaconda的库包里包含了需要的所有函数,并不需要添加opencv库,但添加上也可以,因为很多网上的代码都是在opencv的库函数的支持下进行操作的,在此出现的问题有:

如何添加open CV

在网址点击打开链接中有具体的opencv 的使用方法,可以借鉴,但是我使用的是点击打开链接中所推荐的方法,只需要联网下载就好

添加opencv之后

在网上有很多的用C++编写的有关于FFT算法及逆算法的代码,但是我使用的是python代码,我参考借鉴的是 点击打开链接的代码操作,再次表示感谢

Anaconda下的开发

在参考上述网友的代码后直接进行运行即可,在代码中有关于对图像加燥的操作我采用的是随机点位加噪声方法并不是网友的自己编写的SALT函数,

### 图像处理中的小波变换与FFT结合 #### 小波变换与快速傅里叶变换(FFT)的特点及其在图像处理中的作用 小波变换和快速傅里叶变换(FFT)都是用于信号分析的强大工具,在图像处理中有各自独特的作用。DTCWT作为一种改进的小波变换方法,具有良好的方向选择性和冗余度低的优点[^2]。而离散傅里叶变换(DFT),通过其高效算法形式——FFT,可以直接处理离散时间信号并广泛应用于数字信号处理中[^1]。 对于图像而言,这两种变换可以提供不同的视角来理解空间频率特性: - **小波变换**:擅长捕捉局部化的时间-尺度信息,尤其适合于多分辨率表示以及边缘保持去噪等任务; - **FFT**:更适合全局性的频域描述,常被用来执行高效的卷积运算或设计线性相位滤波器。 当两者结合起来时,则可以在一定程度上弥补各自的不足之处,从而更好地服务于特定应用场景下的需求。 #### 结合方式及其实现过程 一种常见的做法是在预处理阶段先利用小波分解将原始图片转换成不同层次上的子带系数;接着针对这些经过初步压缩后的数据实施二维FFT计算以获取更精细的频谱分布情况;最后再依据具体目的选取适当的方法完成后续操作,比如逆向重建高质量版本或是进一步挖掘隐藏模式特征。 以下是简化版伪代码展示如何在一个简单的框架内集成上述两种技术来进行基本的图像平滑处理: ```matlab % 加载测试图像 img = imread('test_image.png'); gray_img = rgb2gray(img); % 执行双树复数小波变换 (假设已安装相应工具箱) [cA, cH, cV, cD] = dualtree2(gray_img); % 获取近似(A),水平(H),垂直(V) 和 对角(D)分量 % 对各层细节部分做FFT变换 for i=1:length(cH) CHT{i} = fftshift(fft2(cH{i})); end % 设计一个简单的低通滤波器掩模矩阵 maskSize = size(CHT{1}); filterMask = ones(maskSize); centerX = floor(maskSize(1)/2)+1; centerY = floor(maskSize(2)/2)+1; radius = min(centerX, centerY)*0.3; % 控制保留中心区域大小的比例因子 [xGrid,yGrid]=meshgrid(-floor(maskSize(2)/2):floor((maskSize(2)-1)/2), ... -floor(maskSize(1)/2):floor((maskSize(1)-1)/2)); distFromCenter=sqrt(xGrid.^2+yGrid.^2); filterMask(distFromCenter>radius)=0; % 应用该滤波器到每一个经由FFT获得的结果之上 filteredCHT = cellfun(@(x)x.*filterMask, num2cell(CHT)); % 反转回原空间并通过IDCT重构最终输出图象 reconstructedDetails = cellfun(@ifft2, filteredCHT,'UniformOutput',false); smoothedImgApproximation = idualtree2(cA,reconstructedDetails{:}); imshow(smoothedImgApproximation,[]); title('Smoothed Image via Combined WT & FFT Processing') ``` 此段脚本展示了怎样借助MATLAB平台实现基于小波变换和FFT相结合的方式对输入灰阶照片施加柔化效果的操作流程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值