opencv在影象上根據頂點繪製直線
知道影象中的四個頂點,繪製四個頂點構成的四邊形。如果想繪製圖像上原有的點,新增drawContours()函式。
Mat imageContoursnew = Mat::zeros(edge.size(), CV_8UC1);
//drawContours(imageContoursnew, aglcontours, 0, Scalar(255), 1, 8);//aglcontours中存放實際的點的座標,定義為 vector<vector<Point>> aglcontours;
Point2f aglPnew[4];//四個頂點的座標
aglPnew[0] = Point2f(minmaxnew[0], minmaxnew[3]);
aglPnew[1] = Point2f(minmaxnew[0], minmaxnew[2]);
aglPnew[2] = Point2f(minmaxnew[1], minmaxnew[2]);
aglPnew[3] = Point2f(minmaxnew[1], minmaxnew[3]);
for (int j = 0; j <= 3; j++)
{
line(imageContoursnew, aglPnew[j], aglPnew[(j + 1) % 4], Scalar(255), 2);
}
imshow("imageContoursnew", imageContoursnew);
waitKey(0);