OpenCV 角点排序 demo(C++版)
前言
OpenCV 中确定矩形 ROI 区域后,可获取矩形区域中四个角点,若进行 solvePnP 测距,角点要一一对应,故需对其进行排序。
其次,若矩形发生大于90度的旋转(无论顺时针还是逆时针),写死的 “目标实际点位” 便会与 “测得的角点” 发生错位,影响 solvePnP 测距,所以还需考虑矩形某一特定方向上是长轴还是短轴,下面给出角点排序的 demo 与大家交流。
一、C++ 角点排序 demo
//********************** 坐标点排序 **********************
Point2f verticess[4];
Point2f tempPoint;
verticess[0] = Point2f(50, 10);
verticess[1] = Point2f(100, 10);
verticess[2] = Point2f(100, 30);
verticess[3] = Point2f(50, 30);
double longSide, shortSide; //定义长短边
// 按x轴坐标从小到大排序
for (int i = 0;