我刚开始学习Emgu和OpenCV。所以这可能是一个愚蠢的问题。当我查看Emgu文档时(请参阅链接http://www.emgu.com/wiki/files/3.1.0/document/html/cb24a129-d9ce-57f3-19ad-0eaa27a77317.htm),我找不到一个例子。但我想你是以的形式使用的
CvInvoke.FindContours(...)
但是当我搜索stackerflow时,我发现这个人只是在他的代码输入链接描述的中间部分使用了以下表格
grayImage.FindContours()
然而,当我稍后尝试时,Visual studio根本不接受它。(即,当我输入grayImage.F时,弹出窗口根本没有FindContours功能)。
我正在使用最新的opencv和emgu。有什么想法吗?
您使用的是最新版本。
如果您快速查看了版本的文档2.4、3.1您可以看到,函数FindContours()已从Image类中删除,但仍然是CvInvoke类的一部分。
如果你坚持要有可见的语法,你可以添加自己的扩展:
public static class Extension
{
public static VectorOfVectorOfPointF FindContour(this UMat img,Mat hierarchy = null, Emgu.CV.CvEnum.RetrType type = Emgu.CV.CvEnum.RetrType.List,Emgu.CV.CvEnum.ChainApproxMethod method = Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple )
{
VectorOfVectorOfPointF contours = new VectorOfVectorOfPointF();
CvInvoke.FindContours(img, contours, hierarchy, type, method);
return contours;
}
}
这只是c#中的一个示例扩展