天天看點

OpenCV繪制多邊形的代碼

代碼如下:

#define POLYGON_AMOUNT 2
void test()
{
    //同時繪制兩個多邊形,一個是三角形,一個是正方形。
    CvPoint** points = new CvPoint* [POLYGON_AMOUNT];
    //兩個多邊形,各有幾個點
    int npts[POLYGON_AMOUNT] = {0};
 
    /* 三角形的點的相關資訊 */
    npts[0]      = 3;
    points[0]    = new CvPoint[3];
    points[0][0] = cvPoint(200,  40);
    points[0][1] = cvPoint(150,  80); 
    points[0][2] = cvPoint(250,  80); 
 
    /* 正方形的相關資訊 */
    npts[1]      = 4;
    points[1]    = new CvPoint[4];
    points[1][0] = cvPoint(150, 100);
    points[1][1] = cvPoint(250, 100); 
    points[1][2] = cvPoint(250, 200); 
    points[1][3] = cvPoint(150, 200);
 
    CvScalar polycolor;
    polycolor.val[0] = 0;
    polycolor.val[1] = 0;
    polycolor.val[2] = 0xFF;
    polycolor.val[3] = 0;
 
    //IplImage * pImage=cvCreateImage(size, pIplImage->depth, pIplImage->nChannels);
    //填充多邊形。
    cvFillPoly(pImage, points, npts, POLYGON_AMOUNT,    polycolor);
 
    //繪制多邊形。可以用不同顔色來突出顯示。
    cvPolyLine(pImage, points, npts, POLYGON_AMOUNT, 1, polycolor, 2);
 
}      

繼續閱讀