opencv 如何从矢量或向量在图像上绘图< CvPoints>< Point2f>?

9rnv2umw  于 2023-06-24  发布在  其他
关注(0)|答案(3)|浏览(132)

如何在vector<CvPoints>vector<Point2f>的图像上绘制?
VectorPoints vector<Point2f>。我只需要使用OpenCV在VectorPoints中绘制图像。

r6l8ljro

r6l8ljro1#

手动执行:

Vec3b mycolor(100,0,0);
for (int i=0;i<mypoints.size();i++)
    myimage.at<Vec3b>(mypoints[i].x,mypoints[i].y)=mycolor;

或者在这些坐标上画圆:

int myradius=5;
for (int i=0;i<mypoints.size();i++)
    circle(myimage,cvPoint(mypoints[i].x,mypoints[i].y),myradius,CV_RGB(100,0,0),-1,8,0);
hwamh0ep

hwamh0ep2#

如果你只想画一条连接矢量中的点的折线,你可以简单地迭代矢量元素,然后使用opencv line(http://docs.opencv.org/modules/core/doc/drawing_functions.html#line)函数在两个点之间画一条线。

slsn1g29

slsn1g293#

在从点的向量转换为轮廓的向量之后使用drawContours

vector <vector <Point>> contours;
contours.push_back(VectorPoints);

cv::drawContours(matDraw, contours, -1, Scalar(0, 255, 0));

相关问题