1
A
回答
2
从我的回答Fourier Transform + emgucv
功能你后CvInvoke.cvDFT它在技术上调用OpenCV的方法,但它应该是你的后
下面是代码从cvDFT分裂虚部和实部分:
Image<Gray, float> image = new Image<Gray, float>(open.FileName);
IntPtr complexImage = CvInvoke.cvCreateImage(image.Size, Emgu.CV.CvEnum.IPL_DEPTH.IPL_DEPTH_32F, 2);
CvInvoke.cvSetZero(complexImage); // Initialize all elements to Zero
CvInvoke.cvSetImageCOI(complexImage, 1);
CvInvoke.cvCopy(image, complexImage, IntPtr.Zero);
CvInvoke.cvSetImageCOI(complexImage, 0);
Matrix<float> dft = new Matrix<float>(image.Rows, image.Cols, 2);
CvInvoke.cvDFT(complexImage, dft, Emgu.CV.CvEnum.CV_DXT.CV_DXT_FORWARD, 0);
//The Real part of the Fourier Transform
Matrix<float> outReal = new Matrix<float>(image.Size);
//The imaginary part of the Fourier Transform
Matrix<float> outIm = new Matrix<float>(image.Size);
CvInvoke.cvSplit(dft, outReal, outIm, IntPtr.Zero, IntPtr.Zero);
//Show The Data
CvInvoke.cvShowImage("Real", outReal);
CvInvoke.cvShowImage("Imaginary ", outIm);
干杯,
克里斯
相关问题
- 1. 逆傅立叶变换FFT3W
- 2. 傅立叶变换帮助
- 3. 快速傅立叶变换
- 4. 离散傅立叶变换
- 5. WinForms中的快速傅立叶变换
- 6. Android中的快速傅立叶变换
- 7. Matlab中的离散傅立叶变换
- 8. 来自离散傅里叶变换的傅立叶级数
- 9. 在OpenCV中显示傅立叶变换
- 10. 幅度不工作的图像的傅立叶变换
- 11. 傅立叶变换的实验数据
- 12. 傅立叶变换缩放的大小
- 13. 快速傅立叶变换的C#
- 14. 逆离散傅立叶变换输出图像
- 15. 傅立叶图像的翻译
- 16. 傅立叶变换高频和低频
- 17. 傅立叶变换幅度滤波
- 18. 计算快速傅立叶变换时..?
- 19. 1D快速傅立叶变换
- 20. OpenCV逆向傅立叶变换
- 21. 图像处理的快速傅里叶变换变换
- 22. NFFT的傅立叶系数 - 非均匀快速傅里叶变换?
- 23. 离散傅里叶变换
- 24. 傅里叶变换算法
- 25. 从逆离散快速傅立叶变换到频谱图
- 26. 为什么当我得到傅立叶利用Matlab在Matlab变换图像的
- 27. 如何计算8×8子图像上的离散傅立叶变换
- 28. Java中的傅立叶变换的实时计算
- 29. Matlab的:傅立叶变换相位变化了矩阵
- 30. MATLAB中的逆快速傅立叶变换
对于使用的正是这种代码的某些原因,它挂在CvInvoke.cvCopy – a432511
嗨,您正在使用什么版本EMGU的。请确保图像和complexImage大小相同(包括ROI),否则该方法将冻结。欢呼 – Chris
问题在于频道数量。谢谢! – a432511