我正在尝试创建和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
添加到我的班级。
我搜索了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的视图
编辑:好的我不知道现在发生了什么......
我不确定此问题是否在我尝试按照MVSCRT的建议安装Emgu documentation之前或之后发生。但是现在当我尝试从Emgu库调用代码时,我收到以下错误。
我重新安装了Emgu库并重新安装了MVSCRT。每当我尝试调用任何Emgu代码时,抛出此异常。我不知道从哪里开始..
EDIT2:
我不确定为什么,但是通过从代码中删除using Emgu.Util
语句,上面的问题已经解决了。知道发生了什么会很有趣..
所以我现在回到半原始问题。
我已经在Emgu网站上安装了MSVCRT as instructed。
EDIT3:
看起来我终于通过将x86和x64目录移动到执行文件夹来实现它。现在我只是等待函数的调用返回...
答案 0 :(得分:4)
如果您使用的是EmguCV 2.4或3.0版本,请不要忘记:
using Emgu.CV.Structure;
您可以右键单击Visual Studio中未解析的Bgr
令牌,然后在上下文菜单中选择解析。您应该看到两个菜单项:
选择第一个让Visual Studio使用建议的扩展您的使用。