2013-04-20 162 views
2

如果有人能告訴我在哪裏可以獲得用於開發面向Android的OpenCV 2.4.3的優秀教程或文檔,我將不勝感激。我已經瀏覽了OpenCv網站上的一篇文章,以及更多的配置和入門知識,但並未介紹真正的代碼。我想爲android代碼,函數和這些函數做解釋的opencv。使用Java cv編寫的Android上的opencv還是使用Java Native Interface包含的本機C++代碼?安卓手機上的OpenCV教程

如果它的Java cv然後我在哪裏可以得到一個很好的教程,可以讓我開始。 如果它包含在JNI中的C++代碼,我如何將這些Native代碼與原始Android Java代碼進行接口?

我會很感激,如果有人能告訴我一些好的教程或文件(如果可用)?如果不是,我想請你解釋一下嗎? 此致敬禮。

編輯:

感謝Torcelite給你答覆。你能解釋一下我將如何將代碼移植到java中嗎(如更詳細一點)?有沒有一個很好的教程,解釋我如何做到這一點。我的意思是,當我移植代碼時,如果有的話,我對原來的桌面應用程序的openCV代碼做了什麼樣的更改。或者,我只是將Visual Studio的開放CV中的C++代碼移植到Android eclipse中,以便在Android上使用Open cv。

例如在我的臉部檢測代碼中,我已經使用haar分類器及其內置函數進行對象檢測。

function--->[cvHaarDetectObjects(, , , , , ,) 
//just deleted the parameters for simplicity] 

因此,當我想在android上做同樣的事情時,當我使用這個函數或者將它作爲它時,我會做出更改嗎?當我必須在Android上移植或採用這些和其他功能來實現它們時,我應該做什麼樣的工作。不僅是這個功能,還有OpenCV中的所有功能。

回答

2

如果你對文檔不滿意,所有關於opencv的書我都知道(沒有那麼多),你可以在以下2個鏈接中找到它們。

有關於Android的一個具體的- 「Android應用程序編程與OpenCV」。它可能是除官方文件之外的最佳來源。

http://opencv.org/books.html

http://www.packtpub.com/search?keys=opencv

的OpenCV的Android(以及最近對桌面Java)無關與JavaCV,第一是正式的端口基本上是在C++函數JNI包裝。 JavaCV是獨立研究人員Samuel Audet的一個較早的Java端口(因爲並非正式屬於OpenCV團隊)。

3

我討厭打破它給你,但直到現在,OpenCV for Android還沒有得到太多關注。我自己並沒有完全弄清楚函數和算法。我確實創建了一個小的image comparison optimization tool。另外,我建議你從這個book學習OpenCV。你只需要在Java中移植代碼。

從C++到JAVA的「移植」代碼意味着將C++中的代碼轉換爲JAVA,即您正在更改語法。

因此,this將成爲類似於this

P.S - 我的代碼沒有使用FlannMatcher,這不是完整的代碼移植,但它的要點。您的語法更改,但算法保持原樣。

+0

親愛的Torcellite,我已經添加了一些關於你的答案尋求你和其他專業解釋的問題的更多細節。請你檢查一下,謝謝? – Sisay 2013-04-21 16:21:22