我试图将位图转换为用于OpenCV的MAT。但由于某种原因,他们不让我转换它。我在Stack上找到了下面的代码,并在许多其他网站上看到了它。
有人知道为什么它不工作吗?
- 无法将“系统.绘图.位图”转换为“字节[,,]"。*
作为一个说明,在开始时,8个屏幕截图被设置为坐标,这些被保存为位图,然后应该被转换为垫。
请看嵌入的图像。
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;
字符串
此图像显示错误消息。
的数据
2条答案
按热度按时间gzszwxb41#
首先,您不是将图像转换为
Mat
,而是转换为Image<>
(有关差异以及here是什么的更多信息)。要将任何图像从文件转换为
Mat
,您只需使用以下命令:字符串
要将
Bitmap
转换为Mat
,您可以安装NuGetEmgu.CV.Bitmap
,它添加了一些扩展以促进转换为Bitmap
。型
qcuzuvrc2#
你可以简单地用这个方法为你转换它,这个方法对我来说非常有效。
方法:
字符串