что мне нужно - Emgu.Cv.Mat
. Из-за того, что у меня есть Bitmap
, я хочу передать его информацию этому экземпляру Mat.System.AccessViolationException при построении Mat с использованием EmguCV
Вот мой код:
//the real file is not stored on the harddrive. this is for demonstration only.
Bitmap fileBmp = new Bitmap(@"C:\Users\my\Desktop\file1.PNG");
.
//generating an Image from it works pretty fine as well. Even displaying it works great.
Image<Bgr, Byte> image = new Image<Bgr, Byte>(fileBmp);
.
//But I'm not able to generate a Mat with it. Not using the Bitmap
Mat mat1 = new Mat(new int[] { fileBmp.Width, fileBmp.Height }, DepthType.Cv8S, fileBmp.GetHbitmap());
//... and not using the Image
Mat mat2 = new Mat(new int[] { fileBmp.Width, fileBmp.Height }, DepthType.Cv8S, image.Bitmap.GetHbitmap());
Я постоянно получаю
System.AccessViolationException
Если я прочитал либо mat1.Bitmap
свойства или mat2.Bitmap
свойства (все другие свойства выглядящих отлично). Что не так с моим кодом?
Любые предложения, как передать «графическую информацию» на номер Mat
, используя EmguCv
?
Один раз: использование new Mat(@"C:\Users\my\Desktop\file1.PNG")
невозможно из-за того, что растровое изображение не хранится на жестком диске.