我剛剛寫了一個小程序,用於在閾值處理後用canny處理的彩色閾值二值圖像中搜索輪廓,但總是會爲圖像中的每個對象找到兩個輪廓。OpenCV findContours Allways爲每個對象找到兩個輪廓
在繪製找到輪廓的右下角圖像中,您可以看到最大輪廓繪製兩次,兩個輪廓之間有一點偏移。下圖顯示了該圖像的詳細視圖。
http://img831.imageshack.us/img831/3641/doubleframe2.png
這裏只是最大的輪廓繪製兩次,但它隨機發生的輪廓每隔一個。 我只想爲每個物體繪製一個輪廓,我如何實現這個目標? :/
更新:
其由findContours方法填充的輪廓矢量的大小的大小爲8,其中它應該有一個尺寸正好4.
更新2:
下面是從超高動力學 http://img405.imageshack.us/img405/9761/inputimage.jpg 的顏色的閾值的RGB輸入圖像I中使用的以下方針
cv::cvtColor(in, out, CV_BGR2HSV);
cv::inRange(out,
cv::Scalar(25, 131, 97),
cv::Scalar(35, 220, 217),
out);
隨後侵蝕+擴張與矩形元素的大小爲1
請提供原始圖像的鏈接。 – 2012-07-13 11:52:29
完成。必須刪除程序的圖像,因爲我只能發佈2個鏈接:/。 – 2012-07-13 12:26:41
爲什麼在找到輪廓之前去找Canny?爲什麼不直接在閾值圖像上找到輪廓? – 2012-07-13 13:51:35