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