Поделитесь объектом OpenCV C++ с помощью PythonC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Поделитесь объектом OpenCV C++ с помощью Python

Сообщение Anonymous »

Сценарий:
Процесс программы C++ захватывает изображение с помощью OpenCV.
Другой процесс, использующий Python и OpenCV, имеет общую область памяти (с mmap) с первой программой.
Проблема:
Как создать в процессе Python ссылку на то же изображение, которое уже существует в общей области памяти? Эта часть процесса Python может быть написана как модуль C и импортирована в Python.
Для моих конкретных нужд только процесс C++ создает и записывает данные, в то время как процесс Python просто читает (и обрабатывает) их.
Дополнительная информация:
При одном и том же изображении поля data C++ cv::Mat и numpy.array равны (тот же размер и содержание). Поэтому нет необходимости конвертировать.
Поскольку языки имеют отдельные менеджеры памяти, возможно, придется использовать некоторую внешнюю синхронизацию (например, семафор), чтобы избежать использования одним процессом освобожденной области из другого.
Моя проблема заключается в создании в Python объекта numpy.array, поля данных которого указывают на определенную область в общей памяти.

Подробнее здесь: https://stackoverflow.com/questions/439 ... ith-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»