问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

利用FFT傅里叶频谱图计算图像的细节保留值

创作时间:
作者:
@小白创作中心

利用FFT傅里叶频谱图计算图像的细节保留值

引用
CSDN
1.
https://blog.csdn.net/pomwhan/article/details/128399194

任意一幅图片,都可以转化为傅里叶频谱图,从空域转化为频域。本文的目的是想通过对图像的傅里叶频谱数据处理,得到其细节保留的信息,从而对画质评价提供数据参考。

频谱图的获取

  1. 将RGB图转化为Gray图
  2. 进行float32形式转换
    float32_img = np.float32(img)
    
  3. 使用cv2.dft进行傅里叶变化
    dft_img = cv2.dft(float32_img, flags=cv2.DFT_COMPLEX_OUTPUT)
    
  4. 使用np.fft.shiftfft()将变化后的图像的低频转移到中心位置
    dft_img_ce = np.fft.fftshift(dft_img)
    
  5. 使用cv2.magnitude将实部和虚部转换为实部,乘以20是为了使得结果更大
    img_dft = 20 * np.log(cv2.magnitude(dft_img_ce[:, :, 0], dft_img_ce[:, :, 1]))
    
  6. 进行画图操作

获得细节保留的处理方法是:
利用傅里叶频谱图的对称性将所有同样频率的强度都加起来得到一个数组amp,而后利用row形成一个频率分布f,最后,利用数组amp与频率分布f的关系。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号