Emgu OpenCV .Net 包装器中的 TColor 在哪里定义?

Where is TColor defined in Emgu OpenCV .Net wrapper?

我正在尝试创建和 Emgu Image<TColor, TDepth>,但似乎无法为我的图像正确指定 TColor。到目前为止,我已经将图像从文件加载到 .Net Image。我现在正在尝试执行以下操作以将该图像转换为 OpenCV 图像表示。

Image<Bgr, Byte> cvTestImage = new Image<Bgr, Byte>(new Bitmap(testImage));

在 Visual Studio 中,两个 Bgr 都带有红色下划线,尽管它似乎接受 Byte 参数(但我假设我需要使用 OpenCV TDepth 定义?)。虽然识别了 Image<TColor, TDepth> 类型,但我已将 using Emgu.CVusing Emgu.Util 添加到我的 class。

我已经搜索了 Emgu 文档网站并找到了两者的文档 ColorType and Bgr 但我无法让我的 IDE 识别或在 Emgu 中找到它们。

我有 Emgu 2.4.10 版。

从文档中我可以看出类型 Bgr 位于 Emgu.CV.Bgr 但 Visual Studio 不会自动完成它。此外,当我将鼠标悬停在 Image<> Visual Studio 的 Byte 参数上时,显示它的类型为 System.Byte 而不是 Emgu.CV.TDepth.Byte.

如果有帮助,请参考 Visual Studio

的观点

编辑: 好的,我不确定现在发生了什么...

我不确定这个问题是在我尝试安装 MVSCRT as recommended by the Emgu documentation 之前还是之后发生的。但是现在,当我尝试从 Emgu 库调用代码时,我收到以下错误。

我已经重新安装了 Emgu 库以及重新安装了 MVSCRT。每当我尝试调用任何 Emgu 代码时,都会抛出此异常。我不知道从这里去哪里..

EDIT2:

我不确定为什么,但是通过从代码中删除 using Emgu.Util 语句,上述问题已自行解决。知道发生了什么会很有趣..

所以我现在回到了半原创问题。

我已经通过 Emgu 网站安装了 MSVCRT as instructed

编辑3:

看来我终于通过将 x86 和 x64 目录移动到执行文件夹来让它工作了。现在我只是在等待对 return...

函数的调用

如果您使用的是 EmguCV 2.4 或 3.0 版,请不要忘记:

using Emgu.CV.Structure;

您可以右键单击 Visual Studio 中未解析的 Bgr 标记,并在上下文菜单中右键单击 select Resolve。您应该看到两个菜单项:

  • 使用 Emgu.CV.Structure;
  • Emgu.CV.Structure.Bgr

Select 第一个让 Visual Studio 使用建议的扩展您的用途。