首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用时域中的滤波器对图像进行滤波?

如何使用时域中的滤波器对图像进行滤波?
EN

Stack Overflow用户
提问于 2020-09-17 13:29:28
回答 1查看 62关注 0票数 0

我在Matlab中得到了一些频域上的小波。然后通过傅立叶变换ifft2将其在时域上进行小波变换。小波在时域和频域的大小与图像的大小相同。它们都是矩阵。

问题是:

如何使用时域中的滤波器对图像进行滤波,或者将时域中的滤波器转换为可以将图像相乘的东西?通常,时域中的滤波器通过卷积对图像进行滤波。但是我从频域通过小波变换得到的滤波器的大小与图像相同。它似乎不能卷积。

代码语言:javascript
运行
AI代码解释
复制
X = imread('barbara.jpg');
shearletSystem = SLgetShearletSystem2D(0,size(X,1),size(X,2),scales);  
%the size of {shearlets} and {shearlets_timedomain} are [size(X,1),size(X,2),nshear],nshear is the number of the shearlets
%shearlets is the filter in the frequency domain,shearlets_timedomain is the filter in the time domain
shearlets_timedomain=fftshift(ifft2(ifftshift(shearletSystem.shearlets(:,:,:))));
EN

回答 1

Stack Overflow用户

发布于 2021-01-12 12:52:44

FWT完全可以在频域中完成,请参阅this paper中的说明。如果我理解正确的话,您的问题不是为什么卷积信号与原始信号具有相同的大小(参见@ChrisLuengo的回复),而是如何在频域中进行下采样(选择偶数或奇数位置)。

正如@Adriaan所说,时域中的卷积是频域中的逐点乘法,反之亦然。为了对长度为n x(1)的信号x进行二次采样...x(n)在MatLab中,以及它的傅立叶变换X,在时域取x(1:2:n)对应于在频域取X(1:(n/2)) -,为了完整起见,取时域的x(2:2:n)对应于取频域的X((n/2+1):n)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63939140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档