С 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 ++ проблема в том, что у меня мало опыта с этим, и я думаю, что будет быть проблема с обработкой типов.