1
我已經使用openCV輪廓檢測方法檢測到具有640 * 480圖像的所有輪廓。在所有這些輪廓中,我想找到駐留在我將要定義的特定區域中的輪廓。你能給我任何建議嗎?查找特定區域內的輪廓
我是否必須找到所有輪廓的中心點並檢查它們是否位於指定區域?
我已經使用openCV輪廓檢測方法檢測到具有640 * 480圖像的所有輪廓。在所有這些輪廓中,我想找到駐留在我將要定義的特定區域中的輪廓。你能給我任何建議嗎?查找特定區域內的輪廓
我是否必須找到所有輪廓的中心點並檢查它們是否位於指定區域?
用C++作爲參考,讓我們假設你已經在保存輪廓:
vector < vector <Point> >contours;
那麼你可以封裝在Rects個人的輪廓,如圖所示:
vector<Rect> boundRect(contours.size());
vector<Point> center(contours.size())//center of each Rect
for(int i = 0; i < contours.size(); i++)
{
boundRect[i] = boundingRect(contours[i]);
center[i]=Point(boundRect[i].x+boundRect[i].width/2,boundRect[i].y+boundRect[i].height/2)
}
你現在有每個輪廓的近似質量中心。您現在可以檢查您的中心是否處於所需的投資回報率。
輪廓是否可以部分在區域內? – cxyzs7 2012-04-02 17:42:15
是的,輪廓可以部分在區域內。 – Udaya 2012-04-09 08:43:46
如果您可以添加圖片,我們將不勝感激。在imageshack.us上傳圖片並在此處鏈接,如果您無法在此處上傳圖片。 – 2012-04-22 11:03:57