Привязывает функцию C с помощью OpenCV к python с помощью Swig

Я ежедневно использую OpenCV и его оболочки Python для создания алгоритмов компьютерного зрения.

Для нескольких сложных функций нам нужно сохранить версию C, которая позволяет сократить время вычислений и упростить повторное использование.

Таким образом, я хотел бы связать функции C, которые используют структуры opencv, такие как iplimage, чтобы использовать их в 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);

Буду признателен за любую подсказку, которую вы мне дадите!

1 ответ

Решение

Сделать загружаемый модуль Python в C довольно просто. Начните здесь: http://docs.python.org/c-api/

Легко взять небольшой пример из самого исходного кода Python и распространить его на себя. Посмотрите в директории 'Modules' исходного кода Python.

Другие вопросы по тегам