在《Android Studio增加NDK代碼編譯支持--Mac環(huán)境》和《Mac平臺(tái)下Opencv開(kāi)發(fā)環(huán)境搭建》兩篇文章中,介紹了如何使用NDK環(huán)境和Opencv環(huán)境搭建與測(cè)試使用,現(xiàn)在,在PC端對(duì)圖像處理算法測(cè)試沒(méi)問(wèn)題后,該在移動(dòng)端進(jìn)行功能移植了,ios平臺(tái)的很簡(jiǎn)單,直接把類庫(kù)拷進(jìn)工程就行了,android的稍微麻煩點(diǎn),這里就以android平臺(tái)為例說(shuō)明移植步驟。
為了更好的模塊移植,這里使用Android源碼的make文件寫(xiě)法:*.mk,Android源碼是一個(gè)很大的工程,它的編譯采用一個(gè)大的mk文件,通過(guò)腳本文件的配置來(lái)自定義編譯的,在build/core/下面的Android.mk文件就是總的編譯文件入口:
這里寫(xiě)的opencv安卓模塊也使用mk文件寫(xiě)法來(lái)編譯so庫(kù)。這里新建了一個(gè)測(cè)試工程,可以在GitHub上download或fork來(lái)查看源碼: https://github.com/linjk/TestOpenCV
下面開(kāi)始移植步驟:
1. 新建測(cè)試工程O(píng)penCVTest:
2. 拷貝下載的opencv的android平臺(tái)的開(kāi)發(fā)包,這里下載3.1.0版本的:
這里把sdk目錄下的native目錄拷貝到工程根目錄,這個(gè)目錄下是c/c++語(yǔ)法的,java目錄是已封裝好的一些java接口,按需選擇吧,為了更好的算法移植而不用每次改寫(xiě),這里選擇native庫(kù),復(fù)制后工程結(jié)構(gòu)如下: