C# 将位图转换为 Emgu Mat 总是失败
C# Converting Bitmap to Emgu Mat always fails
我正在尝试将位图转换为 mat 以供 OpenCV 使用。
但出于某种原因,他们不让我转换它。
我在 Stack 上找到了下面的代码,也在许多其他网站上看到了它。
这里有人知道为什么它不起作用吗?
无法将“System.Drawing.Bitmap”转换为“字节[]”。
注意一下,一开始是8张设置坐标的截图,保存为位图,需要转成mat。
请看一下嵌入的图像。
public static Image<Bgr, byte> FromFile = new Image<Bgr, byte>("MyImage.jpg");
Mat mat = FromFile.Mat; // Only a way to convert it succesfull,
// but isnt the way i want to go.
public static Bitmap skillQ;
public static Image<Bgr, byte> FromBitmap = new Image<Bgr, byte>(skillQ).ToImage;
Mat mat2 = FromBitmap.Mat;
//public static Image<Bgr, byte> FromBitmap = new Image<Bgr, byte>(skillQ).ToImage;
此图片显示了错误消息。
首先,您不是将图像转换为 Mat
,而是转换为 Image<>
(有关差异和垫子是什么的更多信息 here)。
要将文件中的任何图像转换为 Mat
,您只需使用以下命令:
Mat fromFile = new Mat("test.bmp");
要将 Bitmap
转换为 Mat
,您可以安装添加了一些扩展的 NuGet Emgu.CV.Bitmap
,以便于转换为 Bitmap
。
Bitmap bitmapTest = fromFile.ToBitmap();
Mat fromBitmap = bitmapTest.ToMat();
我正在尝试将位图转换为 mat 以供 OpenCV 使用。 但出于某种原因,他们不让我转换它。 我在 Stack 上找到了下面的代码,也在许多其他网站上看到了它。
这里有人知道为什么它不起作用吗?
无法将“System.Drawing.Bitmap”转换为“字节[]”。
注意一下,一开始是8张设置坐标的截图,保存为位图,需要转成mat。
请看一下嵌入的图像。
public static Image<Bgr, byte> FromFile = new Image<Bgr, byte>("MyImage.jpg");
Mat mat = FromFile.Mat; // Only a way to convert it succesfull,
// but isnt the way i want to go.
public static Bitmap skillQ;
public static Image<Bgr, byte> FromBitmap = new Image<Bgr, byte>(skillQ).ToImage;
Mat mat2 = FromBitmap.Mat;
//public static Image<Bgr, byte> FromBitmap = new Image<Bgr, byte>(skillQ).ToImage;
此图片显示了错误消息。
首先,您不是将图像转换为 Mat
,而是转换为 Image<>
(有关差异和垫子是什么的更多信息 here)。
要将文件中的任何图像转换为 Mat
,您只需使用以下命令:
Mat fromFile = new Mat("test.bmp");
要将 Bitmap
转换为 Mat
,您可以安装添加了一些扩展的 NuGet Emgu.CV.Bitmap
,以便于转换为 Bitmap
。
Bitmap bitmapTest = fromFile.ToBitmap();
Mat fromBitmap = bitmapTest.ToMat();