4

私はopencvを使用してC++コードを作成しました。C++コードを「DLL」として変換しましたcv::Mat。データ型として受け取るpythonでこのdllからメソッドを呼び出す必要があります。しかし、ここでエラーが発生します。以下は、C++ コードと Python コードのサンプルです。

グーグルで調べたところ、Boost ライブラリを使用する必要があることがわかりましたがPython mat、C++ に変換するcv::Mat方法とそれらの間のインターフェイスを作成する方法がわかりません。

C++ dll コード:

DLLEXPORT int FromPython ( cv :: Mat InputSrc) {

    imshow ( "FromPython", InputSrc );

        return 0;
}

Python コード

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()
4

1 に答える 1