在opencv c ++中使用fillpoly检索轮廓

时间:2014-04-12 05:42:27

标签: c++ opencv image-processing

我在opencv c ++新平台上遇到了一个非常棘手的问题。 我想在opencv 2.4.7中使用fillpoly来检索图像蒙版,但每次都会出现语法错误。请帮助我,我正在粘贴我的代码

vecpt是opencv中cv::Point数据类型的向量,它保存了一些坐标位置。

现在我想从用户选择的标记点位置

中检索轮廓蒙版
int num = (int)vecpt.size();
        Point *pt4 = new Point[num];
        for(int i=0;i<num;i++)
        {
            pt4->x=vecpt[i].x;
            pt4->y=vecpt[i].y;


        }


        fillPoly(img2,&pt4,&num,1,Scalar(0,255,0),8);

我收到以下错误:

Error -- No matching function in fillpoly

我将所有类型的参数多次更改,但每次都失败了。 请帮帮我。

1 个答案:

答案 0 :(得分:0)

哦,那些讨厌的指针;)

我想,你可以在没有任何副本的情况下离开:

vector<Point> vecpt;
int num = (int)vecpt.size();

const Point * pt4 = &(vecpt[0]); // *@#! const

fillPoly(img2,&pt4,&num,1,Scalar(0,255,0),8);