2014-02-13 33 views
0

所以我試圖從Android上的OpenCV API的貢獻部分實現人臉識別器方法。 API文檔可以在這裏找到:http://docs.opencv.org/modules/contrib/doc/facerec/facerec_api.html如何將標籤參數作爲(Mat)從Java中的OpenCV傳遞給facerecognizer?

我遇到的問題是,Java API中,火車的方法是:

public void train(List<Mat> src, Mat labels){ 
    Mat src_mat = Converters.vector_Mat_to_Mat(src); 
    train_0(nativeObj, src_mat.nativeObj, labels.nativeObj); 

    return; 
} 

我不能爲我的生活,讓調用因(Mat)標籤輸入而工作。在C++文檔中它需要一個整數向量,所以我嘗試傳遞一個Mat,但沒有運氣。任何人都有這個問題,或者有一些關於如何解決這個問題的見解?

+0

你不是要*執行*它,而是*使用*它,對吧? – berak

+0

是的你是正確的,抱歉不正確的語言。我想我會在看到你的迴應後不得不實施某些事情。 – Dan

回答

1

哦親愛的,看起來好像你還沒有發現,你不能創建一個FaceRecognizer中的opencv java api截至目前爲止?

這是一個已知的錯誤,您需要一些jni技能來構建缺失的工廠功能。

除非你解決,不要擔心標籤...

+0

那麼糟透了。這是值得我的時間寫在jni我自己的方法?有沒有其他途徑可以做到這一點會更好?感謝上面的快速反應,我感到非常沮喪。 – Dan

+1

好吧,如果你對jni很好,那就重新創建createXXXFaceRecognizer()方法。如果沒有,也許看看javacv。 (我討厭他們的api,因爲他們大多使用舊的低劣的c-api,但是htey至少得到了facereco部分的工作) – berak

+0

@berak,你知道是否有任何fork的opencv項目的git hub與實現的JNI FaceRecognizer? – Johnny

相關問題