Point PointSet[5] = { Point(100,100),Point(350,100),Point(450,280),Point(320,450),Point(80,400) };
Point* SetPointer = &PointSet[0];
polylines(emptyImg, SetPointer, true, Scalar(255, 0, 0), -1, LINE_8, 0);
// 为什么这里 用 Point 申请一个数组 polylines 函数不可以用,即 第二个参数传入有误
// 但是用 vector<Point> 申请一个数组就可以用

C++_opencv_多边形绘制 polylines函数
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 元气少女缘结神 2023-02-05 20:48关注
因为opencv规定cv::polylines的第二个参数即你说的Point,它的类型必须是InputArrayOfArrays
而这个InputArrayOfArrays在cv中的定义追根溯源是_InputArray,虽然_InputArray可以有以下多种方式,但polylines采用的是蓝色框这种,所以不能用指向point数组的指针本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报