【问题标题】:Binds C function using OpenCV to python with Swig使用 OpenCV 将 C 函数绑定到使用 Swig 的 python
【发布时间】:2011-12-10 01:57:55
【问题描述】:

我每天都使用 OpenCV 及其 Python 包装器来生成计算机视觉算法。

对于一些复杂的函数,我们需要保留 C 版本,这样可以减少计算时间和更容易重用。

这样,我想绑定使用像iplimage这样的opencv结构的C函数在Python中使用它们。你能给我一些建议吗?一世 真的不知道从哪里开始。

这是我的包含 iplimages 的结构。

typedef struct{
    int nbBlobs;
    IplImage *labels;
    IplImage *contours;
}ccl_conf_t;

这是我的函数的原型:

int ccl_init(ccl_conf_t *conf, IplImage *frame);
void ccl_unInit(ccl_conf_t *conf);
int ccl_label(ccl_conf_t *conf, IplImage *frame, int option);

如果您能给我任何提示,我将不胜感激!

【问题讨论】:

    标签: python c binding opencv swig


    【解决方案1】:

    用 C 语言制作 Python 可加载模块非常容易。从这里开始:http://docs.python.org/c-api/

    很容易从 Python 源代码本身中举一个小例子,扩展到您自己的使用。查看 Python 源代码的“模块”目录。

    【讨论】:

    • 嗯。 . .感谢您的回答,但您似乎在谈论将 Python 嵌入到 C 代码中?我的目的恰恰相反!我有一个 C 函数,它应该用作 Python 函数!我错了吗?
    • 糟糕。我想我有错误的链接。我正在寻找“使用 C/C++ 扩展 Python”。请查看docs.python.org/extending/extending.html#a-simple-example,了解创建可从 Python 调用的 C 模块的快速示例。
    • 感谢您的信息。我会尝试并让你知道:)。让我有点沮丧的是,我想要做的已经在 Opencv 的 python 绑定中执行了。我根本不明白我怎么能使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 2011-03-17
    • 2013-10-08
    • 1970-01-01
    • 2023-04-07
    • 2014-12-27
    相关资源
    最近更新 更多