2
我想使用cython在python代碼中使用包裝一個C++項目。主類具有其他本地類的實例。我必須爲每個已經使用過的類編寫pyx文件,或者只包裝主類就足夠了嗎?使用cython包裝C++項目
預先感謝您!
編輯:
這裏是我想包裝代碼: https://github.com/vojirt/asms/tree/master/src 我想換colortracker功能,其他類使用的這個類,我需要包裝它們作爲好?
我想使用cython在python代碼中使用包裝一個C++項目。主類具有其他本地類的實例。我必須爲每個已經使用過的類編寫pyx文件,或者只包裝主類就足夠了嗎?使用cython包裝C++項目
預先感謝您!
編輯:
這裏是我想包裝代碼: https://github.com/vojirt/asms/tree/master/src 我想換colortracker功能,其他類使用的這個類,我需要包裝它們作爲好?
感謝DavidW,問題解決了。我用這個代碼包裝CV ::墊:
cdef extern from "opencv2/core/core.hpp" namespace "cv":
cdef cppclass Mat:
Mat() except +
void create(int, int, int)
void* data
它是隻需要包裝在colortracker類的公共功能直接使用類和函數。
我認爲這個問題需要更多的細節來回答,但是:您只需要打包您想要從Python中使用的內容,而無需包裝實現細節。 – DavidW
如果代碼中使用了主類包含的類,該怎麼辦?例如,如果主函數返回或獲取其中一個類的輸入。 –
看看你的例子,如果你想使用需要它們的函數,你可能必須包裝'ColorTracker','BBox'和'cv :: Mat'。你可能可以將一個numpy數組轉換成Cython中的'cv :: Mat',而不是使用包裝類。 – DavidW