我在opencv c++新平台中遇到了一个非常困难的问题。
我想在opencv 2.4.7中使用fillpoly检索图像蒙版,但是每次都遇到语法错误。请帮助我,我正在粘贴我的代码
vecpt是opencv中cv::Point数据类型的 vector ,它保存一些坐标位置。

现在我想从用户选择的标记点位置检索轮廓 mask

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

10-08 05:09