преобразование PyObject * в объект C ++

У меня есть общая библиотека (util.so), которая возвращает в Python следующее:

cv::Mat toCvMat(PyObject *ndArrayObj) {
// return cv::Mat
}

Я вызываю метод из моего скрипта Python, используя:

Python:

testMat = util.toCvMat(orig_frame_gray_img)

Когда я передаю это моей другой тестовой библиотеке (test_library.so), она передается как PyObject *, как мне получить доступ к cv :: Mat в моем test_library.so ?:

Python:

test_library.process(testMat)

C ++

bool TestLibrary::Process( PyObject* pTestImg)
{
// How to get cv::Mat from pTestImg?
}

В настоящее время мой test_library не связан с util, и они являются отдельными .so файлами.

3

Решение

На основе http://yati-sagade.github.io/2013/05/11/numpy-boost-python/

NDArrayConverter cvt;
cv::Mat m;
m = cvt.toMat(pTestImg);

Требуется NDArrayConverter можно найти из https://github.com/yati-sagade/opencv-ndarray-conversion

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]