0

我在将 System.Drawing.Image 转换为 Emgu.CV.Image 时遇到问题。我可以在表单应用程序中加载我的图像

string im_name = str[index];
Emgu.CV.Image<Bgr, Byte> img = new Image<Bgr, byte>(im_name);

但是这段代码给了我无效参数的错误

System.Drawing.Image img_btmap = System.Drawing.Image.FromFile( im_name);

Emgu.CV.Image<Bgr, Byte> img1 = new Image<Bgr, byte>(img_btmap);

有人知道为什么吗???问候

4

1 回答 1

2

将行更改为:

System.Drawing.Bitmap img_btmap = new System.Drawing.Bitmap(im_name);

构造函数期望从 Image 类继承的Emgu.CV.ImageBitmap 类。

确保稍后释放 img_btmap 否则您将面临文件被锁定的风险。

编辑:确保正确处理的最简单方法是使用这样的using块:

using (System.Drawing.Bitmap img_btmap = new System.Drawing.Bitmap(im_name))
{
   //.....rest of code comes here.....
}
于 2011-01-02T15:24:17.067 回答