欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Android開發:安裝NDK,移植OpenCV2.3.1,JNI調

系統 1938 0

開發環境:Fedora14 , 操作中以root權限操作,這年頭Android移植上OpenCV就強大了,可以做很多復雜的視頻分析、圖像處理工作了!如火災、人臉、視頻行為的分析等。歡迎Android愛好者,加群:248217350。備注:yanzi


一:NDK的安裝

首先是安裝NDK,安裝之前需要安裝CDT,具體的參照 http://blog.csdn.net/yanzi1225627/article/details/7736364 這里來完成。這里再詳細記錄下NDK的安裝過程。google下載NDK,也可以點擊這里下載:http://download.csdn.net/detail/yanzi1225627/5015893,下載后輸入tar -jxvf android-ndk-r8-linux-x86.tar.bz2 -C /usr/local/android/將其解壓到/usr/local/android/ 目錄。『注,我的android相關文件都安裝在這里。這個目錄不是死的。』然后gedit /etc/profile,在里面添加:export PATH=$PATH:/usr/local/android/android-ndk-r8,從安裝JDK到eclipse, android, NDK,在/etc/profile文件里,添加的命令一共有如下三條:

export JAVA_HOME=/usr/local/android/jdk1.7.0_04
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:/usr/local/android/android-ndk-r8

只要這三條就行了。然后source /etc/profile 使剛才的設置生效。

在終端里輸入:ndk-build,可以測試出ndk安裝成功了么有。

注:有的時候也可以通過在線安裝方式,在eclipse里點help-install new software,網址輸入這個:ADT - https://dl-ssl.google.com/android/eclipse/,也會看到安裝NDK Plugins, 如果經過上面的步驟,NDK不能用就把這個也裝上。 但如果只裝這個,好像不中,找不到ndk安裝的目錄,也無法配置路徑。

二:OpenCV的移植

這里的移植不是像在qt下那么麻煩,這是因為OpenCV退出來直接支持Android的版本,所以不需要自己編譯。直接下下來,解壓縮就可以了。我用的OpenCV2.3.1,需要的可以直接到csdn資源里下載,鏈接: http://download.csdn.net/detail/yanzi1225627/5013701 ,也可以自己到sourceforge上下載,鏈接:http://sourceforge.net/projects/opencvlibrary/files/opencv-android/,從這里可以看出從OpenCV2.3開始就有編譯好的android版本。最新的是2.4.3版本,在2012年12月24發布的。牛逼阿!

接下來就是配置。事實上有兩種方法在Android里調用OpenCV,一種是使用OpenCV java Api,一種是通過JNI的方式。這里是針對后者。將OpenCV-2.3.1-android-bin.tar.bz2解壓縮,然后將里面的OpenCV-2.3.1拷貝到Eclipse工作空間的平級目錄。圖示:

Android開發:安裝NDK,移植OpenCV2.3.1,JNI調用OpenCV全過程

為此,我們現先建一個工作空間。新建文件夾/home/yan/TestOpenCV,點eclipse里的File---Switch workspace---other,選中這個目錄。切換到這個工作空間后,點Window---Preference--android,選中自己的android-sdk的安裝目錄,我的是:/usr/local/android/android-sdk-linux。然后就可以在這個工作空間里正常android開發了,如果不設置這個,新建的工程全是紅叉叉。

新建一個項目HaveImgFun,包名是package com.testopencv.haveimgfun; 然后將剛才解壓縮出來的 OpenCV-2.3.1-android-bin\samples"下的includeOpenCV.mk文件拷貝到和項目HaveImgFun同一級目錄 中。圖示:

Android開發:安裝NDK,移植OpenCV2.3.1,JNI調用OpenCV全過程

在 eclipse里選中那個項目,新建一個文件夾jni,然后新建文件:Android.mk,里面的內容是:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include ../includeOpenCV.mk
ifeq ("$(wildcard $(OPENCV_MK_PATH))","")
#try to load OpenCV.mk from default install location
include $(TOOLCHAIN_PREBUILT_ROOT)/user/share/OpenCV/OpenCV.mk
else
include $(OPENCV_MK_PATH)
endif
LOCAL_MODULE := ImgFun
LOCAL_SRC_FILES := ImgFun.cpp
include $(BUILD_SHARED_LIBRARY)

再新建一個Application.mk, 內容輸入:

APP_STL:=gnustl_static
APP_CPPFLAGS:=-frtti -fexceptions
APP_ABI:=armeabi armeabi-v7a
然后新建一個cpp文件,ImgFun.cpp, 這個測試程序是將一個圖片的上半部分弄黑,然后復原。具體的大家看源碼。功能很簡單。

內容是:

#include <jni.h>
#include <stdio.h>
#include <stdlib.h>
#include <opencv2/opencv.hpp>
using namespace cv;
extern "C" {
JNIEXPORT jintArray JNICALL Java_com_example_haveimgfun2_LibImgFun_ImgFun(
JNIEnv* env, jobject obj, jintArray buf, int w, int h);
JNIEXPORT jintArray JNICALL Java_com_testopencv_haveimgfun_LibImgFun_ImgFun(
JNIEnv* env, jobject obj, jintArray buf, int w, int h){
jint *cbuf;
cbuf = env->GetIntArrayElements(buf, false);
if(cbuf == NULL)
{
return 0;
}
Mat myimg(h, w, CV_8UC4, (unsigned char*)cbuf);
for(int j=0; j<myimg.rows/2; j++)
{
myimg.row(j).setTo(Scalar(0, 0, 0, 0));
}
int size=w*h;
jintArray result = env->NewIntArray(size);
env->SetIntArrayRegion(result, 0, size, cbuf);
env->ReleaseIntArrayElements(buf, cbuf, 0);
return result;
}

}

Android開發:安裝NDK,移植OpenCV2.3.1,JNI調用OpenCV全過程

然后在終端里切換到HaveImgFun目錄,也就是在目錄/home/yan/TestOpenCV/HaveImgFun下, 終端輸入 ndk-build , 會生成相應的庫。
具體的大家下載源程序把!下載連接:
http://download.csdn.net/detail/yanzi1225627/5016365

【注,下載后將文件解壓。然后eclipse里,切換到TestOpenCV空間,點File--import,就可以了。首先測下最后一步,也就是輸入ndk-build, 會不會生成相應的庫!】

參考: http://www.cnblogs.com/ldr213/archive/2012/02/20/2359262.html





Android開發:安裝NDK,移植OpenCV2.3.1,JNI調用OpenCV全過程


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品久久人妻无码蜜 | 在线看色片 | 久久91精品 | 国内精品免费一区二区三区 | 狠狠色欧美亚洲狠狠色www | 日韩国产三级 | 欧美18 19sex性处video | 成人午夜视频一区二区国语 | 日本黄色网址视频 | 亚洲人成亚洲人成在线观看 | 免费午夜理论不卡 | 青青草91| 青青青国产观看免费视频 | 亚洲精品久久一区二区三区四区 | 欧美国产在线观看 | 蜜芽在线| 欧美18xxxx| 欧洲午夜视频 | 好看的91视频 | 欧美精品一区二区三区免费播放 | 日韩综合一区 | 99视频有精品视频高清 | 亚洲一区二区色 | 中文字幕日韩欧美 | 性欧美一区 | 91看片免费看 | 国产精品原创av片国产免费 | 日韩hd| 成人av一区 | 亚洲二区视频 | 一级毛片一级毛片一级毛片一级毛片 | 欧美成a人片在线观看久 | 成人午夜视频免费 | 国产激情一区二区三区 | 国产精品视频成人 | 精品免费国产一区二区三区 | 九九精品视频一区在线 | jav中文字幕 | 草草国产成人免费视频 | 91网在线观看 | 一区二区三区日韩在线观看 |