閑了一段時間,Boss最近下達了新的項目,主要難點為:通過攝像頭識別客戶產品,並對產品作出反饋。
圖像識別這方面以前沒做過,國內可借鑒的應用也很少。因此,我決定翻牆搜索一些資料,在StackOverflow里面找到了一些外國程序員的推薦:iqengines,並且Google Play能找到用此技術的應用。
試用了一下iqengines的效果還是不錯的,但是缺點也明顯——收費的。多於1000個識別的時候會收費,至於收費多少則未深入了解,因為付款麻煩之類的就被否決了。
再繼續搜索了一下,得到另外一個推薦:OpenCV。然后繼續發揮我谷粉的功力,又搜索了很多相關的資料,發現這個開源社區以及各種資料都做得不錯,初步就選這個吧。
OpenCV官方文檔:http://docs.opencv.org/index.html
OpenCV4Android:http://opencv.org/platforms/android.html
1、了解實現過程:
因此,我們需要安裝好NDK,但NDK需要Linux環境支持,另外還要下載一個Cygwin。
2、搭建環境:
2.1、cygwin的安裝和簡單配置
首先到http://www.cygwin.com下載setup.exe
一路next,來到這步之后,選擇如圖:
最后啟動Cygwin,測試安裝是否成功:輸入命令檢查
出現以上版本信息則表明make 和gcc 已經安裝成功。
2.2、NDK安裝
首先到官網下載Android NDK,直接解壓就行了。
添加環境變量方法:
Cygwin設置環境變量與在linux環境之中設置環境變量,配置上是一樣。主要有三種方式: 1. export(立即生效,注銷重啟后消失) 如: #export PATH=$PATH:/opt/build_tools/bin 2. 修改系統的profile(需要注銷重啟) #vi /etc/profile 在里面加入: export PATH="$PATH:/opt/build_tools/bin" 3. 修改root(運行帳戶)的.bashrc環境變量(需要注銷重啟) # vi /root/.bashrc 在里面加入: export PATH="$PATH:/opt/build_tools/bin" 設置完成后,可以使用 #export 命令查看是否正確。
添加環境變量:
NDKRoot=/cygdrive/<你的盤符>/
export NDKRoot
我的:
NDKRoot=/cygdrive/E/Android_NDK/android-ndk-r8
export NDKRoot
其中"NDKRoot"這個名字隨便起,因為后面要用經常使用,建議不要太長。
重啟cygwin,輸入cd $NDKRoot進入對應目錄,就成功了。
注意:添加時用UltraEdit打開添加,如果是中文OS 使用記事本或者寫字板打開編輯后,重新啟動Cygwin 會報錯。可以按照下圖方式轉換:
安裝成功后編譯NDK中的一個例子命令行:
第一行命令應為cd $NDKROOT,這個參數是根據上面的設置而改變。
出現如圖信息代表成功。
注:文章為本人原創,轉載請標明出處為本人博客:http://www.cnblogs.com/TseChiHoi/。
下一篇文章:Android-圖像識別項目OpenCV(2):運行官方例子中的臉部識別程序