【问题标题】:Find High Frequencies with Discrete Fourier Transform [OpenCV]使用离散傅里叶变换查找高频 [OpenCV]
【发布时间】:2016-01-25 11:09:08
【问题描述】:

我想通过图像中的高频量来确定图像清晰度。据我了解,OpenCV 的 dft() 函数返回两个实数和复数矩阵。 这就是我卡住的地方。如何从这些数据中确定高频的数量?

感谢每一个可以让我更好理解的提示/链接。

问候

【问题讨论】:

  • 你想在幅度图像中看到这个,还是在进一步处理中使用这些值?
  • 抱歉,我不确定我是否正确理解了您的问题。这个想法是能够说图像 1 比图像 2 更清晰,反之亦然。所以我需要计算一个代表图像清晰度的值。
  • 这可能有帮助吗? answers.opencv.org/question/5395/…
  • 或者我将图像与拉普拉斯核卷积,然后将值相加。
  • 感谢您的建议,我已经实现了一些其他测量清晰度的方法。我想比较它们,所以我特别想用 DFT 来做。

标签: opencv image-processing fft frequency-analysis


【解决方案1】:

制作 FT
计算结果的大小

现在你有了二维矩阵。考虑左上象限(其他是真实来源的镜子)。
这里Magn[0][0]入口对应零频率,Magn[(n-1)/2][(n-1)/2]入口对应最高频率。
该子矩阵的左上部分包含低频样本,因此您可以计算这部分和其余部分中的值的总和并比较这些总和。例如(伪代码):

cvIntegral(Magn, Rect(0..n/4, 0..n/4)) compare with 
cvIntegral(Magn, Rect(0..n/2, 0..n/2)) - cvIntegral(Magn, Rect(0..n/4, 0..n/4))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-02
    • 2018-09-30
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多