【问题标题】:Emgu.CV 4.2.0 image conversion methods not availableEmgu.CV 4.2.0 图像转换方法不可用
【发布时间】:2020-05-20 16:19:18
【问题描述】:

我有一个 .Net Standard 2.0 项目,其中最新版本的 Emgu.CV - 4.2.0.3636 通过 Nuget 包安装。我还有 System.Drawing.Common 包,它支持位图。我需要将 Mat 转换为位图并从现有位图创建 Mats 的可能性。以前 Mats 有 Bitmap 属性,并且有一个 Image 的构造函数,例如接受 Bitmap 作为参数。从我在 Emgu.CV 4.2.0 版本的发行说明中看到的 - 这些已被位图的 ToMat() 扩展方法和 Mats/Images 的 AsBitmap() 方法取代。但是对我来说这两种方法都不可用。

官网发布说明说:

已添加到 Emgu.CV.UI nuget 包(或 dll 文件)中

同时,我在 nuget 中看不到 Emgu.CV.UI 包,只有我已经安装的 Emgu.CV 包。

我还有什么遗漏的?

【问题讨论】:

    标签: c# emgucv


    【解决方案1】:

    从 Emgu 4.4.0 开始,位图部分位于第三个 (NuGet) 包 Emgu.CV.Bitmap 中,它解决了这个问题(以前在 Emgu.CV.runtime.windows 中,4.3.0 及之前版本)。

    所以你需要三个包:

    • Emgu.CV(当然)
    • Emgu.CV.runtime.windows
    • 现在,Emgu.CV.Bitmap

    【讨论】:

      【解决方案2】:

      您还需要为您的操作系统添加 Emgu.Cv 运行时包。因此,对于 Windows,您需要添加 Emgu.Cv.Runtime.Windows

      【讨论】:

      • 我必须建议 EMGU 更新他们关于版本更改的文档,这是需要的包,而不是“Emgu.CV.UI”
      • 是的。一旦安装运行时包,图像可以通过 Image.AsBitmap() 转换为位图
      【解决方案3】:

      即使我有 Emgu.CV.runtime.windows 包,我也遇到了同样的问题。

      为了访问 ToBitmap() 方法,我确实需要 Emgu.CV.UI.dll

      看起来它不包含在运行时或 Emgu.CV nuget 包中。

      我是去github页面,下载this,它在bin文件夹中构建了UI.dll(或自己构建项目)

      引用该 dll,您就可以访问这些方法。希望将来他们可以通过 nuget 提供它

      【讨论】:

      • 我设法让 ToBitmap() 和 AsBitmap() 使用这两个 nuget 包在 .Net Core 3.1 项目中工作:Emgu.CV.runtime.windows 和 Emgu.CV.UI
      猜你喜欢
      • 2019-05-07
      • 2012-08-11
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多