0
我用了一個包含4個圓圈的網絡隨機圖像。 [但是,opencv分段代碼檢測307輪廓。不過,我只想檢測4個圓圈。所以我試圖模糊圖像來消除噪音。但是,仍然沒有幫助。 然後我用下面的代碼。繪製輪廓後找到輪廓
Mat ContourOutline = Mat::zeros(cannyEdges.size(), CV_8UC3);
for (int i = 0; i < contours.size(); i++)
{
cout << "Area of contour " << i << "=" << contourArea(contours[i])<<"\n";
Scalar color = Scalar(0,0,255);
drawContours(ContourOutline, contours, i, color, 2, 8, hierarchy, 0, Point());
}
這產生了一個完美的形象。![繪製4圈] [3]現在,我要運行這個圖像上找到的輪廓代碼。但是,Visual Studio會拋出未處理的異常。我應該做些什麼來檢測四個圈子?
findContours假定二值圖像作爲輸入,您ContourOutline是BGR的彩色圖像。 – Micka 2014-12-05 15:11:36
謝謝。我忘了那個。它現在有效。 – 2014-12-12 09:41:20
很高興聽到。我會寫一個答案來幫助別人。 – Micka 2014-12-12 09:48:30