2013-09-22 244 views
0

我最近開始使用Android NDK,併成功實現了一些簡單的Android應用程序。我需要從圖像中檢測對象(正方形和長方形)。我的研究表明,OpenCV是解決方案。 This是我用來從圖像中檢測正方形的算法。JNI,NDK和OpenCV

但是,我不清楚應該如何在我的代碼中使用squares.cpp文件。 OpenCV示例演示如何以JNI格式使用cpp文件。我是否需要將squares.cpp文件轉換爲JNI,還是會有另一種可行的解決方案?

謝謝。所有的建議和反饋都歡迎。

回答

1

您不必將squares.cpp文件轉換爲JNI。

從您的Java代碼中,您將調用一個JNI函數(正如我認爲您在「幾個簡單的Android應用程序」中所做的那樣),然後它將調用squares.cpp中的函數。

換句話說,你基本上只需要從Java調用一個JNI函數,一旦你在C++代碼中,就可以照常用C++編寫代碼。

+0

鏈接到cpp文件(在我的問題中提供)沒有任何JNI功能。那麼我手動創建它們? – Anirudh

+0

看看樣品是如何製造的。基本上有一個Java調用使用JNI的C++函數。但是,在這個「JNI函數」裏面,一切都是C++。然後,您可以在此函數中編寫普通的C++,並調用「squares.cpp」。 – JonesV

+0

對。謝謝你的提示。我現在正在處理這個問題。會讓你知道它很快會變成什麼樣子 – Anirudh