0
我正在使用Cython創建C++包裝到python代碼。 的CDEF功能如下傳遞cython參數作爲參考與未知類型
import cv2
cdef public void Load_Cascades(object& face_cascade, object& eye_cascade):
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
print("Cascades loaded!!")
的參數的類型是未知的,所以我已經使用object
並&
是將它們通過作爲參考變量。調用函數如下
cdef public void Run():
face_cascade = None;
eye_cascade = None;
Load_Cascades(face_cascade, eye_cascade)
有了這樣的代碼,cython編譯器會出錯,引用變量不能更改。
我還通過地址
Load_Cascades(&face_cascade, &eye_cascade)
這並不工作,以及調用的函數,你可以請讓我知道我可以通過參考實現未知類型變量的傳遞用Cython
你不知道。 'object'基本上是說「把它當作Python」,而Python不能像那樣工作。你返回你想改變的變量。 – DavidW
[this](https://groups.google.com/forum/#!topic/cython-users/nXsytgkTbGg)可能有幫助 – Matthias