Я успешно завернул свой код C ++ с помощью SWIG, и он отлично загружается в Python. Я использую библиотеку Olena для обработки изображений .
Однако я не знаю, как вызывать мои функции, для которых требуется указатель на изображение!
Например, моя функция удаления изображения прототипирована следующим образом:
mln::image2d<mln::value::int_u8> imErossion(
const mln::image2d<mln::value::int_u8> *img, int size, int nbh
);
Результат выполнения моего кода в Python:
from swilena import *
from algol import *
image = image2d_int_u8
ima = image.load("micro24_20060309_grad_mod.pgm")
eroded_ima = imErossion(ima,1,8)
>>>> Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: in method 'imErossion', argument 1 of type
'mln::image2d<mln::value::int_u8 > const *'
Я искал всю сеть, чтобы попытаться решить это сам, но это оказалось сложнее, чем я ожидал.
Я не уверен, как передать указатель из Python - эквивалент этого кода C ++:
eroded_ima = imErossion(&ima,1,8)