我试图通过visual c ++使用opencv来提取图像的轮廓。我能够使用opencv tutorial为findcontours做到这一点。 findcontours分两步工作
我想尝试使用' Structured Forest Edge Detection' (Zitnick等)。我能够提取边缘并显示它们,但是当我尝试将输出提供给findcontours时。我在内存位置0x0020EE9C'正在获得' cv :: Exception。错误。 (见下面的代码)。我做错了什么?
Mat src = imread("image.jpg");
src.convertTo(src, CV_32F, 1.0 / 255.0);
Mat edges(src.size(), src.type());
Ptr<StructuredEdgeDetection> pDollar = createStructuredEdgeDetection("model.yml.gz");
pDollar->detectEdges(src, edges);
findContours(edges, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));
答案 0 :(得分:0)
pDollar->detectEdges(src, edges);
edges
类型为CV_32F。您必须将其转换为8位单通道图像