PavelK
@PavelK

Как перевести этот кусок Python кода на C++?

Не могу разобраться, как переписать этот код с питона на 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]};

}


Дальше чёт туплю. Подскажите, что дальше творится?
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 1
Jairman
@Jairman
Тот самый
Может, хрень скажу, но попробуйте посмотреть код функций, которые используете, самих библиотек, дальше уже эти функции перепишите в c++, так должно быть куда проще
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы