我有4个与图像像素有关的坐标。说(x1,y1),(x2,y2),(x3,y3)和(x4,y4)。如何绘制通过这4个坐标的多边形?
void cvFillPoly(CvArr* img, CvPoint** pts, int* npts, int contours, CvScalar color, int lineType=8, int shift=0)
Run Code Online (Sandbox Code Playgroud)
填充多边形的内部。
参数:img –图片
pts –指向多边形的指针数组
npts –多边形顶点计数器的数组
轮廓–绑定填充区域的轮廓数量
颜色–多边形颜色
lineType –多边形边界的类型,请参见线描述
shift –顶点坐标中的小数位数
这是信息。如何以及在哪里放置坐标??
任何人都可以用代码解释吗?
您应该创建一个4点的数组或向量
vector<Point> points(4);
points = { (x1,y1),(x2,y2),(x3,y3),(x4,y4) };
Run Code Online (Sandbox Code Playgroud)
那么您可以将此向量用作输入数组。
您应该使用绘制近似多边形方法
vector<Point> approxCurve;
double epsilon = ... // choose a value.
approxPolyDP(points, approxCurve, epsilon, true);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8243 次 |
最近记录: |