Передача изображения mat из кода C++ в файл Python
Мне нужно вызвать код python из файла .cpp, и я должен быть в состоянии передать изображение cv:Mat из этого файла cpp в python .
Что я уже пробовал:
Из документации python я искал , как вызвать файл .py из файла cpp.
Я могу это сделать, а также передать некоторую переменную.
// Ниже приведен рабочий код :-
Код КПП
cv::Mat imgpy = imread("D:\\DefectedImg.bmp"); Py_Initialize(); PyObject *pName, *pModule, *pDict, *pFunc, *pArgs, *pValue1, *pValue2, *mat; pName = PyString_FromString("Sample"); pModule = PyImport_Import(pName); pDict = PyModule_GetDict(pModule); pFunc = PyObject_GetAttrString(pDict, "add"); pArgs = PyTuple_New(2); pValue1 = PyInt_FromLong(2); pValue2 = PyInt_FromLong(3); // Set the Python int as the first and second arguments to the method. PyTuple_SetItem(pArgs, 0, pValue1); PyTuple_SetItem(pArgs, 1, pValue2); PyObject* pResult = PyObject_CallObject(pFunc, pArgs);
Файл python Sample.py
import sys import cv2 # import numpy as np # Returns the sum of two numbers. def add(a, b): return a+b
Это работает над передачей двух переменных в py-файл и возвращением результата.
Мне нужно передать изображение mat imgpy из файла C++ в файл puthon.
Есть какой-нибудь простой способ сделать это?
Richard MacCutchan
"Мат-образ" - это просто данные, поэтому вы передаете их точно таким же образом.