Как преобразовать Emgu.Cv.Image ‹Gray, byte› в System.Image

Я был новичком в Emgu Cv, и мне было интересно, может ли кто-нибудь сообщить мне, как я могу изменить Emgu.Cv.Image на System.Image? Если есть необходимость в дополнительных объяснениях, дайте мне знать, и я сделаю это. Я использую C #.


person Sisay    schedule 19.05.2013    source источник


Ответы (1)


Вы можете просто использовать метод ToImage(), чтобы получить System.Drawing.Bitmap (который является производным классом от System.Drawing.Image), поэтому что-то вроде этого

// create an Emgu image of 400x200 filled with Blue color
Image<Bgr, Byte> img = new Image<Bgr, byte>(400, 200, new Bgr(255, 0, 0));

// copy to a .NET image
System.Drawing.Image pMyImage = img.ToBitmap();

Это то, что вы имели ввиду?

person Roger Rowland    schedule 19.05.2013
comment
Я работал над приложением распознавания лиц. Проблема в том, что при использовании EigenObjectRecognizer у меня получалось черное изображение с нераспознанной меткой. Мне было интересно, связана ли эта проблема с тем, что я конвертировал Emgu.CV.Image ‹Bgr, byte› в растровое изображение с помощью img.ToBitmap () и отобразить его в поле, возможно, я теряю данные о пикселе или что-то в этом роде. Вот почему я получаю черное изображение? Может быть, есть лучший способ.Я не знаю. поток здесь код - person Sisay; 19.05.2013