Я программирую в WPF (C#), используя emgucv-windesktop 3.1.0.2282. Я новичок в обработке изображений, и я хочу использовать FFT и DFT в своем приложении для обработки изображений. Вот мой код:DFT в EmguCV не отображается
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
Дополнительная информация: Неизвестный тип цвета