OpenCV передает данные из C ++ в Python - PullRequest
1 голос
/ 04 мая 2020

С opencv в Python У меня были проблемы с попыткой заставить работать SIFT ( вот в чем проблема ), поэтому я реализовал то, что мне нужно в C ++, вот код в основном. cpp:

  cv::Mat src = cv::imread(argv[1], cv::IMREAD_GRAYSCALE);
  auto sift = cv::xfeatures2d::SIFT::create();
  vector<cv::KeyPoint> keypoint;
  sift->detect(src, keypoint);
  cv::Mat descriptor;
  sift->compute(src, keypoint, descriptor);

мне нужны вектор KeyPoint s и матрица дескрипторов.

Теперь я хотел бы продолжить с Python, поскольку мне нужно numpy, и мне нужен способ для переноса векторов.

Есть ли способ переместить векторы в Python?

Для матрицы я мог бы записать ее в файл, а затем прочитать из python, но я не знаю, что делать с вектором KeyPoints.

Я думал, что мог бы переместить код в функцию, скомпилировать его как общую библиотеку и попытаться импортировать его с чем-то вроде cffi, но для C ++ проблема в том, что у меня мало опыта с этим, и я думаю, что будет быть проблема с обработкой типов.

...