Не могу разобраться, как переписать этот код с питона на C++:
from scipy.spatial import distance as dist
import numpy as np
import cv2
def order(pts): # Как понял, там массив точек x и y, предположительно 4
sorted = pts[np.argsort(pts[:, 0]), :] # Сортируем по X ?
leftMost = sorted[:2, :] # Берём 0 и 1?
rightMost = sorted[2:, :] # Берём 2 и 3?
leftMost = leftMost[np.argsort(leftMost[:, 1]), :] # Сортируем по Y ?
(tl, bl) = leftMost
D = dist.cdist(tl[np.newaxis], rightMost, "euclidean")[0]
(br, tr) = rightMost[np.argsort(D)[::-1], :]
return np.array([tl, tr, br, bl], dtype="float32")
Пока что понял до этого:
std::vector<Point2d> orderPoints(std::vector<Point2d> pts)
{
//-- Сортируем по X
std::sort(pts.begin(), pts.end(), [](const Point2d &p1, const Point2d &p2){ return (p1.x<=p2.x); });
std::vector<Point2d> leftMost = {pts[0], pts[1]};
std::vector<Point2d> rightMost = {pts[2],pts[3]};
}
Дальше чёт туплю. Подскажите, что дальше творится?