【发布时间】:2017-01-05 19:59:43
【问题描述】:
如何在 Visual Basic 中使用 Emgu 3.0+ 计算图像的 DFT?
我有一些图像作为带有 CvInvoke.Imread() 的 Mat 加载,我可以显示和更改它,我想计算该图像的正向 DFT,然后显示幅度。我怎样才能做到这一点?我在将有效的 IInputArrays 输入到 CvInvoke.Dft() 时遇到问题。目前我的 Emgu 版本是 3.1.0。
这是我目前使用的代码:
Dim imgOrig As Mat
imgOrig = CvInvoke.Imread(ofd.FileName, LoadImageType.AnyColor)
EmguImageBox.Image = imgOrig
Dim imgGrayscale As New Mat()
CvInvoke.CvtColor(imgOrig, imgGrayscale, ColorConversion.Bgr2Gray)
EmguImageBox.Image = imgGrayscale
Dim imgDFT As Mat
imgDFT = New Mat(imgOrig.Rows, imgOrig.Cols, DepthType.Cv32F, 2)
CvInvoke.Dft(imgGrayscale, imgDFT, DxtType.Forward, 0)
EmguImageBox.Image = imgDFT
【问题讨论】:
-
您可以包含您已经尝试过的代码吗?
-
我一直在尝试遵循这个家伙的方法:stackoverflow.com/questions/16812950/…,但出现了错误。我将添加一些我一直在尝试的代码。
标签: vb.net visual-studio opencv emgucv dft