1. 程式人生 > >opencv在影象上根據頂點繪製直線

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);