<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                開發環境:Fedora14 , 操作中以root權限操作,這年頭Android移植上OpenCV就強大了,可以做很多復雜的視頻分析、圖像處理工作了!如火災、人臉、視頻行為的分析等。歡迎Android OpenCV愛好者,加入OpenCV4Android聯盟群:66320324。備注:yanzi **一:NDK的安裝** ??? 首先是安裝NDK,安裝之前需要安裝CDT,具體的參照[http://blog.csdn.net/yanzi1225627/article/details/7736364](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](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工作空間的平級目錄。圖示: ![](https://box.kancloud.cn/2016-01-19_569e21abeac19.png) ?????? 為此,我們現先建一個工作空間。新建文件夾/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同一級目錄**中。圖示: ![](https://box.kancloud.cn/2016-01-19_569e21ac095a3.png) 在 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; } } ![](https://box.kancloud.cn/2016-01-19_569e21ac16d50.png) ??? 然后在終端里切換到HaveImgFun目錄,也就是在目錄/home/yan/TestOpenCV/HaveImgFun下, 終端輸入**ndk-build**, 會生成相應的庫。 具體的大家下載源程序把!下載連接:[http://download.csdn.net/detail/yanzi1225627/5016365](http://download.csdn.net/detail/yanzi1225627/5016365) 【注,下載后將文件解壓。然后eclipse里,切換到TestOpenCV空間,點File--import,就可以了。首先測下最后一步,也就是輸入ndk-build, 會不會生成相應的庫!】 參考:[http://www.cnblogs.com/ldr213/archive/2012/02/20/2359262.html](http://www.cnblogs.com/ldr213/archive/2012/02/20/2359262.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看