Wywołaj funkcje opencv C ++ z Pythona (Wyślij cv :: Mat do biblioteki DLL C ++, która używa opencv)
Napisałem kod C ++ przy użyciu opencv, przekonwertowałem kod C ++ jako „DLL” i muszę wywołać metodę z tego dll w python, który odbieracv::Mat
jako typ danych. Ale dostaję tutaj błąd. Poniżej znajdują się przykłady kodu C ++ i kodu Pythona.
Na googlu stwierdziłem, że musimy użyć biblioteki Boost, ale nie jestem pewien, jak przekonwertowaćPython mat
do C ++cv::Mat
i jak stworzyć interfejs między nimi.
Kod dll C ++:
DLLEXPORT int FromPython ( cv :: Mat InputSrc) {
imshow ( "FromPython", InputSrc );
return 0;
}
Kod Pythona
import cv2 as cv
from ctypes import cdll
cap = cv.VideoCapture(0)
while(1):
ret, frame = cap.read()
cv.imshow('frame',frame)
mydll = cdll.LoadLibrary('C:\Users\Documents\FromPythonDLL.dll')
i = mydll.FromPython(frame)
print(i)
k = cv.waitKey(1) & 0xff
if k == 27:
break
cap.release()
cv.destroyAllWindows()