gpt4 book ai didi

c++ - 在 OpenCV 中使用 drawContours 连接四个点

转载 作者:行者123 更新时间:2023-11-28 06:29:07 27 4
gpt4 key购买 nike

我有一个包含 4 个点的 vector :

vector<vector<Point> > data(4);
data[0].push_back(Point(0,0));
data[1].push_back(Point(0,120));
data[2].push_back(Point(180,100));
data[3].push_back(Point(70,0));

我想连接它们并在图像上绘制形状。我尝试使用 drawContours 函数,但这段代码不起作用:

for( int i = 0; i< data.size(); i++ )
{
drawContours(input,data,i,Scalar(0,255,0),10,LINE_8);
}

最佳答案

您的“数据”包含 4 个等高线。每个轮廓都有一个绘制在图像上的点。您需要的是 1 个具有 4 个点的轮廓。将您所有的积分推送到数据[0]。

旁注,您不需要在循环中调用 drawContours()。如果您提供轮廓的负索引(第三个参数),则将绘制所有轮廓。

vector<vector<Point> > data(1);
data[0].push_back(Point(0,0));
data[0].push_back(Point(0,120));
data[0].push_back(Point(180,100));
data[0].push_back(Point(70,0));
drawContours(input, data, -1, Scalar(0,255,0), 10, LINE_8);

关于c++ - 在 OpenCV 中使用 drawContours 连接四个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27955938/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com