我有一个用 Python 编写的演示应用程序。它使用了大量现有的 C++ 代码(由我编写),这些代码依赖于 OpenCV 进行图像处理。目前,Python 和 C++ 之间的通信是通过文件 I/O 和子进程调用来完成的,效率不太高。包装 C++ 代码以便从 Python 调用它的最佳方法是什么?
C++ 代码太多,无法考虑将其移植到 Python,因此这并不是一个真正的选择。
很久以前,Python OpenCV 包装器是用 SWIG 编写的,但看起来最新版本的包装器完全不同。谁能指出我正确的方向?
最佳答案
有两种方法可以使 Python 程序直接与 C/C++ 程序交互:
仅使用 C-API 将 C/C++ 代码包装在 DLL 中。然后,使用ctypes 在 DLL 中调用 C 函数。这种方式的优点是您不需要包含/链接任何其他库。
通过添加新的 python 模块来扩展 python。您可以使用boost python轻松创建 python 模块。这种方式的优点是您不需要将代码包装到 C-API。
关于c++ - 将 C++ OpenCV 代码包装为 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10976464/