频域滤波

 

频域滤波是在频率域对图像做处理的一种方法。步骤如下:

滤波器大小和频谱大小??相同,相乘即可得到新的频谱。

高频信息:图像中那些快速变化的部分,即边缘和细节部分。

低频信息:图像中那些平缓的部分,决定了图像的基本灰度等级。

滤波后结果显示:低通滤波去掉了高频信息,即细节信息,留下的低频信息代表了概貌。

常用的例子,比如美图秀秀的磨皮,去掉了脸部细节信息(痘坑,痘印,暗斑等)。高通滤波则相反。

https://www.xuetangx.com/courses/course-v1:HUST+603+sp/about?jwt_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJvd25lciI6Im5ld194dWV0YW5neCIsInVzZXJfaWQiOjg3OTY4NDF9.QaP-_Tm-4oqqnpZJxFB8vZHhqvM6ROuIExq1E_OjVp8&owner=new_xuetangx

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyTorch中的频域滤波可以通过使用傅里叶变换来实现。以下是一个基本的频域滤波的步骤: 1. 导入必要的库: ```python import torch import torch.fft as fft ``` 2. 构建一个频域滤波器: ```python def create_filter(size, cutoff): filter = torch.zeros(size, size) center = size // 2 for i in range(size): for j in range(size): distance = ((i - center) ** 2 + (j - center) ** 2) ** 0.5 if distance <= cutoff: filter[i, j] = 1.0 return filter ``` 这个函数创建一个大小为`size`的方形滤波器,并设置在半径为`cutoff`的范围内的所有频率分量的值为1,其他位置值为0。 3. 实施频域滤波: ```python def frequency_filter(input, filter): input_freq = fft.fftn(input) filtered_freq = input_freq * filter filtered_image = fft.ifftn(filtered_freq) return filtered_image.real ``` 这个函数将输入信号通过傅里叶变换转换到频域,与滤波相乘后再通过反傅里叶变换转换回空域。最后返回实数部分,因为频域滤波结果可能包含虚数部分。 4. 应用频域滤波: ```python input = torch.randn(256, 256) # 输入信号,大小为256x256 filter = create_filter(256, 50) # 创建50像素半径的滤波器 filtered_image = frequency_filter(input, filter) ``` 在这个例子中,我们使用了一个256x256的输入信号,并创建了一个50像素半径的滤波器。最后得到经过频域滤波的结果`filtered_image`。 请注意,这只是一个基本的示例,实际应用中可能需要根据具体需求进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值