rohanvaidya1617 Ответов: 0

Передача изображения 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

"Мат-образ" - это просто данные, поэтому вы передаете их точно таким же образом.

0 Ответов