从C++中运行OpenCV脚本

2024-04-26 14:04:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从C++、py/p>执行Python脚本

C++部分:

Py_Initialize();
PyRun_SimpleString("import sys");
PyRun_SimpleString("print(sys.version)");
PyRun_SimpleString("sys.path.append('/path/to/module')");
pName = PyString_FromString("mymodule");
pModule = PyImport_Import(pName);
import_array();
PyArrayObject *np_ret, *np_arg;
pDict = PyModule_GetDict(pModule);
pFunc = PyDict_GetItemString(pDict, "process");
PyObject_CallFunctionObjArgs(pFunc, NULL);

python模块:

^{pr2}$

当我用opencv 3.2.0编译它时,它工作得很好,但是使用2.4.0它在调用opencv函数cv2.cvtColor(mark, cv2.COLOR_GRAY2RGB)时出现分段错误

是否可以使用2.4.0进行此操作?也许有一些模块初始化器,比如numpy的import_array()?在


Tags: 模块pathpyimportnpsyspyrunarray