【发布时间】:2015-03-29 13:45:54
【问题描述】:
我想在我的图像中找到最大的轮廓(使用 opencv 和 C++)。我读过这个线程: Finding Contours in OpenCV? 和 Draw the biggest element conncted using areaContours (OpenCV ) 但我得到了错误:'varName' 没有在这个范围内声明,这意味着编译器认为我没有声明那个变量对吗?所以我的代码的这个sn-p:
threshold(Img, Img, t, 255, CV_THRESH_BINARY_INV);
vector<vector<Point>> varName;
findContours(Img, varName, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);
我收到了这个错误:
D:\OpencvWorkspace\....|50|error: 'varName' was not declared in this scope|
第 50 行是这段代码:
vector<vector<Point>> varName;
我的问题。为什么编译器要求这个变量没有在我声明那个变量的那一行声明。有人可以帮我吗?
【问题讨论】:
-
请发帖MCVE。
-
您使用的是 C++11 之前的标准编译器吗?试试
vector<vector<Point> >(注意空格)。 -
很抱歉,因为我认为问题的根源就在这条线上。感谢@chris 提醒我。 :)
-
我检查它的版本 GCC 4.6.2。我不知道它与 C++11 之前的标准编译器相同还是不同.. 但是是的.. 它对我有用。问题因为空间小。谢谢@πάνταῥεῖ :)