matlab - 为什么在MATLAB中对fft2得到的图像的频谱进行移位、取绝对值和对数变换?
问题描述
我必须在 MATLAB 中使用 FFT 获得灰度图像的频谱并绘制频谱。我使用 fft2()
并绘制了输出。
我观看了有关绘制频谱的教程,其中,他们执行fftshit()
,取绝对值,应用对数变换,使用缩放像素mat2gray()
,然后在绘制频谱之前转换为 uint8。
im2uint8(mat2gray(log(abs(fft_shifted)+1)))
我的问题是,在绘制频谱之前是否有必要执行所有这些步骤?我知道fftshift()
用于将频谱集中在第 0 个频率系数附近。执行其他功能有什么用?
我绘制了没有移位、移位后和应用上述步骤后的频谱。
在此之后,我必须对灰度图像应用低通滤波器并比较频谱。(这是一道作业题)
解决方案
推荐阅读
- game-physics - 如何在物理模拟中沿其角度平移物体?我正在使用matter js,但我认为这主要是数学
- redis - 通过 ID django_rq 重新排队特定作业
- solidity - 在 uint256 中的参数相关查找后未找到或不可见成员“付款”
- java - 设置 Java Array 中元素总和的限制
- r - RSelenium findElement 适用于 firefox:2.53.1 但不适用于 firefox:latest
- javascript - 为什么页面 URL 或 href 中不显示 URL 参数?- Javascript
- python - PYMC3 中的广义高斯分布
- go - 如何使用 Go 为应用程序制作自定义标题栏?
- javascript - react.js 的一些问题
- database - 我收到“预期 1 个位置参数,但找到 0 个”。使用 Dart 和 Cloud Firestore 时 Flutter 出错?