我嘗試通過它們的顏色和形狀來檢測交通標誌,我從de顏色分割中獲得二值圖像,並嘗試檢測其中的三角形,除非三角形的所有邊都完整ÿ不工作,檢測不完整/完美的三角形
在這個圖像中,例如它沒有檢測到任何三角形
我使用的代碼是這樣的:
vector<Point> approx;
findContours(copia,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_SIMPLE);
vector<Rect_ <int> > boundRect(contours.size());
vector<Rect_ <int> > boundRect_(contours.size());
for(size_t i=0; i<contours.size();i++)
{
approxPolyDP(Mat(contours[i]), approx,arcLength(Mat(contours[i]), true)*0.02, true);
if (approx.size() == 3 &&fabs(contourArea(Mat(approx))) > 300 && isContourConvex(Mat(approx)))
drawContours(capture->image,contours,i,Scalar(0,255,0));
這不是cotourArea的問題,我沒有問題檢測完整的三角形。我不知道我是否可以做一些事情來檢測那種「不完整的三角形」,或者我將不得不做一些事情來完成三角形,以便我可以檢測到它們。在這兩種情況下,我有點失落
謝謝您的幫助
編輯:我忘了上傳圖片
我試圖做凸起,它檢測到更多的三角形(當雙方的某些部分失蹤它有時仍然失敗),但現在我得到了很多圖像中的誤報,在沒有任何遙遠相似的地方到一個三角形 我會嘗試使用曲率檢測,關於RANSAC我不太清楚那是什麼,我沒有找到一個好的教程,你能告訴我在哪裏可以學到更多的知識嗎? – Kailegh 2015-04-13 15:19:38