close

三天,整整三天才復原去年寫過的App

先大致講一下更新的部分

首先Ubuntu已經太久沒更新了,輸入下面指令更新。

sudo apt-get update
sudo apt-get upgrade

下載最新OpenCV2.4.6 for Android

解壓縮至~/home/"username"

開啟Eclipse,更新SDK Manager

wait...

Import OpenCV,找到剛解壓縮的OpenCV並且import進來

有個方法可以知道Opencv的函式能不能使用

Android Development with OpenCV

最下面有個 Hello OpenCV Sample 若可以成功燒錄即可以使用OpenCV函式。


重點是有個問題一直無法解決

opencv_error  

這個錯誤使我無法使用 Mat img=Highgui.imread("image.jpg");

找了許多解決方式

1. Hello OpenCV Sample,利用這個範例我測試是否能夠使用OpenCV函式

結果發生錯誤,OpenCV Manager package was not found!!

因此參考【Android】【OpenCV】環境建置 利用OpenCV-2.4.6-android-sdk/apk/OpenCV_2.4.6_Manager_2.9_arm7a-nero,apk

OpenCV-2.4.6-android-sdk/apk裡面會有個readme,選擇手機核心所對應的OpenCV Manager安裝

如果在Ubuntu環境下,那直接adb install OpenCV-2.4.6-android-sdk/apk/OpenCV_2.4.6_Manager_2.9_arm7a-nero,apk 即可

但以上仍然無法使去年的專案復活。順帶一提Hello OpenCV Sample可以成功執行,因此我想可能是設定問題。

 

2. 參考 Unsatisfied Link Error - OpenCV for Android Non-native 

Unsatisfied Link Error - OpenCV for Android Non-native

(上面兩個網址是不一樣的)

可能是因為專案檔沒有 libopencv_java.so 因此將  OpenCV-2.4.6-android-sdk/sdk/native/libs/ 裡面三個資料夾複製到專案檔libs裡面去

 \armeabi 、 \armeabi-v7a 與\x86 這三個。但由於是舊專案沒有libs資料夾,因此我新增了一個資料夾,也體驗了簡單設計App icon的樂趣

沒想到現在建立專案可以直接設定這些東西,滿有趣的。將三個資料複製過去之後依然沒有改變。

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_load_image);
if (!OpenCVLoader.initDebug()) {
// Handle initialization error

//接下要作的事情

}
}

這邊程式碼一定要加喔,之後專案檔可以成功執行後,將這if (!OpenCVLoader.initDebug()) 判斷式刪除就又沒辦法執行了

 

3. 最後我更改java compiler的版本,本來1.5改成1.6就成功了。

 

 

arrow
arrow
    文章標籤
    ubuntu android opencv
    全站熱搜

    glitterHsin 發表在 痞客邦 留言(0) 人氣()