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

标签 c# .net image emgucv

我正在尝试创建和 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 的文档和 Bgr 但我无法让我的 IDE 识别或在 Emgu 中找到它们。

我有 Emgu 2.4.10 版。

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

如果有帮助,这里是 Visual Studio 的 View

enter image description here

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

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

enter image description here

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

编辑 2:

我不确定为什么,但通过删除 using Emgu.Util从代码声明上面的问题已经解决了。知道发生了什么会很有趣..

所以我现在回到半原创问题。 enter image description here

我已经安装了 MSVCRT as instructed通过 Emgu 网站。 enter image description here

编辑 3:

看起来我终于通过将 x86 和 x64 目录移动到执行文件夹来让它工作了。现在我只是在等待对函数的调用返回...

最佳答案

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

using Emgu.CV.Structure;

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

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

选择第一个,让 Visual Studio 扩展您对建议的用途的使用。

关于c# - Emgu OpenCV .Net 包装器中的 TColor 在哪里定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30513371/

相关文章:

c# - 如何使用 MS Graph API 获取组织中的所有部门

c# - C# 中的原始 boolean 大小

c# - 为什么要使用 Mutex 来锁定?

c# - 提取两个字符之间的字符串?

c# - 如何在应用程序需要访问互联网的情况下使用 C# 进行 Android 开发?

c# - 如何确保系统级操作是原子的?任何模式?

.net - 互操作结构内存应该在调用后释放吗?

css - 在 css 中居中 2 个不同的图像

java - 按钮上嵌入的图像不会显示

iphone - iPhone 地址簿图片的尺寸?