我正在尝试创建和 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.CV
和 using 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
编辑:好吧,我不确定现在发生了什么......
我不确定这个问题是在我尝试安装 MVSCRT 之前还是之后发生的根据 Emgu documentation 的建议.但是现在,当我尝试从 Emgu 库调用代码时,我收到以下错误。
我已经重新安装了 Emgu 库以及重新安装了 MVSCRT。每当我尝试调用任何 Emgu 代码时,都会抛出此异常。我不确定从这里去哪里..
编辑 2:
我不确定为什么,但通过删除 using Emgu.Util
从代码声明上面的问题已经解决了。知道发生了什么会很有趣..
所以我现在回到半原创问题。
我已经安装了 MSVCRT as instructed通过 Emgu 网站。
编辑 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/