2016-08-18 99 views
0

我正在使用emgucv-windesktop 3.1.0.2282在WPF(C#)中進行編程。我是圖像處理新手,我想在我的圖像處理應用程序中使用FFT和DFT。這裏是我的代碼:EmguCV中的DFT未顯示

Image<Gray, System.Single> _image = new Image<Gray, System.Single>(
    Util.ImageSourceToBitmap(img1.Source)); 

UMat DFTimage = new UMat(); 
UMat Original = new UMat(); 

CvInvoke.Dft(_image.ToUMat(), DFTimage, Emgu.CV.CvEnum.DxtType.Forward , -1); 
CvInvoke.Dft(DFTimage, Original, Emgu.CV.CvEnum.DxtType.Inverse, -1); 

img2.Source = Util.BitmapToImageSource(Original.Bitmap); 
img3.Source = Util.BitmapToImageSource(DFTimage.Bitmap); 

我用了一個人臉,花卉等,但我在IMG2和IMG3(它們是圖像控制)看到的是黑空的。我的代碼有什麼問題?

更新1:

現在我正在使用此代碼:

Bitmap bm = Util.ImageSourceToBitmap(img1.Source); 

Image<Gray, Single> image = new Image<Gray, Single>(bm); 
UMat DFTimage = new UMat(image.Size, Emgu.CV.CvEnum.DepthType.Cv32F, 2); 
UMat Original = new UMat(image.Size, Emgu.CV.CvEnum.DepthType.Cv32F, 2); 


CvInvoke.Dft(image, DFTimage, Emgu.CV.CvEnum.DxtType.Forward, image.Rows); 
CvInvoke.Dft(Original, DFTimage, Emgu.CV.CvEnum.DxtType.Inverse, image.Rows); 


Util.BitmapToImageSource(Original.Bitmap); 

現在,我得到System.Exception例外顯示我的反轉的圖像:

類型的未處理的異常'System.Exception'發生在 Emgu.CV.World.dll

附加信息:未知的顏色類型

enter image description here

回答

0

嘗試修改此:

CvInvoke.Dft(Original, DFTimage, Emgu.CV.CvEnum.DxtType.Inverse, image.Rows); 

這樣:

CvInvoke.Dft(DFTimage, Original, Emgu.CV.CvEnum.DxtType.Inverse, image.Rows);