//计算距离
void DrawAndCompute(Mat& Warp, vector<vector<Point>>& TargetPts)
{
for (int i = 0; i < TargetPts.size(); i++)
{
for (int j = 0; j < TargetPts[i].size(); j++)
{
//尺寸测量
Point PtA = Point(TargetPts[i][j]);
Point PtB = Point(TargetPts[i][(j + 1) % TargetPts[i].size()]);
double dis = round(EuDis(PtA, PtB) * 100) / 100;
//效果显示
circle(Warp, TargetPts[i][j], 5, Scalar(0, 255, 0), -1);
line(Warp, PtA, PtB, Scalar(0, 0, 255), 2);
char text[20];
sprintf_s(text, "%.2f", dis);
Point point = Point((PtA.x + PtB.x) / 2, (PtA.y + PtB.y) / 2);
putText(Warp, text, point, FONT_HERSHEY_SIMPLEX, 1, Scalar(255, 0, 255), 2);
}
}
}
opencv学习及应用:计算两点间距离
最新推荐文章于 2025-09-09 12:43:20 发布
该代码段用于在给定的图像(Warp)上计算并可视化多个点对之间的欧氏距离。它遍历点集(TargetPts),使用EuDis函数计算相邻点对的距离,然后在图像上绘制圆、直线以及距离标签。
4182

被折叠的 条评论
为什么被折叠?



