在Emgu OpenCV .Net包装器中定义了TColor的位置?

时间:2015-05-28 17:31:40

标签: 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添加到我的班级。

我搜索了Emgu文档网站,找到了ColorTypeBgr的文档,但我无法让我的IDE识别它们或在Emgu中找到它们。

我有Emgu版本2.4.10。

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

如果它有帮助,这里是Visual Studio的视图

enter image description here

编辑:好的我不知道现在发生了什么......

我不确定此问题是否在我尝试按照MVSCRT的建议安装Emgu documentation之前或之后发生。但是现在当我尝试从Emgu库调用代码时,我收到以下错误。

enter image description here

我重新安装了Emgu库并重新安装了MVSCRT。每当我尝试调用任何Emgu代码时,抛出此异常。我不知道从哪里开始..

EDIT2:

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

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

我已经在Emgu网站上安装了MSVCRT as instructedenter image description here

EDIT3:

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

1 个答案:

答案 0 :(得分:4)

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

using Emgu.CV.Structure;

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

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

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