2017-08-24 36 views
0

我不知道我做錯了什麼。我在OpenCV中出現錯誤「approxPolyDP(ROI_Vertices,ROI_Poly,1.0,true)」

Mat mask(img.size(), CV_8UC1, Scalar::all(0)); 

// Create Polygon from vertices 
vector<Point> ROI_Vertices(4); 
ROI_Vertices.push_back(Point(196,40)); 
ROI_Vertices.push_back(Point(47,450)); 
ROI_Vertices.push_back(Point(204,450)); 
ROI_Vertices.push_back(Point(275,40)); 

vector<Point> ROI_Poly; 

approxPolyDP(ROI_Vertices, ROI_Poly, 1.0, true); 

// Fill polygon white 
fillConvexPoly(mask, &ROI_Poly[0], ROI_Poly.size(), 255, 8, 0); 

// Create new image for result storage 
Mat resImage(480, 640, CV_8UC3); 

// Cut out ROI and store it in imageDest 
img.copyTo(resImage, mask); 
    imshow("h",img); 
    imshow("hh",resImage); 

我覺得我的程序識別
ROI_Vertices已經點(0,0)

我該如何解決這個問題?

+0

看來,您必須閱讀C++向量如何工作 – Miki

回答

0

這很簡單。刪除點(0,0)。進行以下更改

ROI_Vertices.clear(); 
+0

WOW !!!!你的我的英雄非常感謝 –

+1

爲什麼你首先創建了4個元素的矢量呢? – Miki