在opencvc++中使用fillpoly检索轮廓



我在opencv c++新平台上遇到了一个非常困难的问题。我想在opencv2.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

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

哦,那些讨厌的指针;)

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

vector<Point> vecpt;
int num = (int)vecpt.size();
const Point * pt4 = &(vecpt[0]); // *@#! const
fillPoly(img2,&pt4,&num,1,Scalar(0,255,0),8);

相关内容

  • 没有找到相关文章