gpt4 book ai didi

python - 将 PyObject* 转换为 C++ 对象

转载 作者:太空狗 更新时间:2023-10-29 23:14:13 28 4
gpt4 key购买 nike

我有一个共享库 (util.so),它将以下内容返回给 python:

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

我使用以下方法从我的 python 脚本调用该方法:

python :

testMat = util.toCvMat(orig_frame_gray_img)

当我将它传递给我的其他测试库 (test_library.so) 时,它作为 PyObject* 传递,我如何访问我的 test_library.so 中的 cv::Mat?:

python :

test_library.process(testMat)

C++

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

目前,我的 test_library 没有与 util 链接,它们是单独的 .so 文件。

最佳答案

基于 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 中找到

关于python - 将 PyObject* 转换为 C++ 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34850315/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com