I don't know what I've done wrong.
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);
I think my program recognize
ROI_Vertices have Point(0,0)
How can I fix this?
That's simple.Remove the points (0,0). Make the following change
ROI_Vertices.clear();