首先定义一个结构体:
struct order_points//为以y坐标为基准排序后的点
{
float y;
Point2f p;
};
然后定义一个比较函数,并返回布尔值
bool comp(const order_points & a, const order_points & b)
{
return a.y < b.y;
}
这个是从小到大的排序。
vector<order_points> vl_order_points;
for (size_t i = 0; i < undistort_1points.size(); i++)
{
left_order_point.y = undistort_1points[i].y;
left_order_point.p = undistort_1points[i];
vl_order_points.push_back(left_order_point);
}
sort(vl_order_points.begin(), vl_order_points.end(), comp);
转载:https://blog.youkuaiyun.com/qq_25254777/article/details/79984722