关于OpenCV中canny和findcontours输出的疑问

时间:2014-07-25 20:02:38

标签: opencv

我正在使用标准流处理图像,发现我无法理解canny和findCountours生成的轮廓的含义。 这是图像: enter image description here

在canny之后:

enter image description here

在findContours之后,它有4个轮廓。所以我画了4个轮廓。

enter image description here enter image description here enter image description here enter image description here

这是令人困惑的部分:为什么它有4个轮廓而不是2个?因为从精确输出,我们只能看到2个轮廓:外部轮廓和内部轮廓。

有人可以清除我的怀疑吗?

由于 Deryk

代码在这里:

Mat src = imread("images/andgate.png");
Mat gray;
cvtColor(src, gray, CV_BGR2GRAY);
Mat bw;
Canny(gray, bw, 100, 200);
vector<vector<Point> > contours2;
vector<Vec4i> hierarchy2;

findContours(bw, contours2, hierarchy2,CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE);

0 个答案:

没有答案