2016-08-18 2 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 (그들은 이미지 컨트롤입니다)에서 볼 검은 색 빈 이미지입니다을 사용했다. 내 코드에서 무엇이 잘못 되었습니까?

UPDATE 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); 
관련 문제