Build opencv libraries for android arm, x86 ubuntu

來源:互聯網
上載者:User

標籤:class   href   party   home   name   lis   test   scripts   include   

廢話不多說。

準備工作:

1. 下載原始碼: http://opencv.org/

編譯平台:ubuntu14.04

opencv 2.4.6.1

本人用這樣的辦法編譯了opecv 2.4.9 的沒有什麼問題, 問題比opencv2.4.6.1還要少, 事實上他們的原理是一樣的.

opencv 原始碼根資料夾----${opencv_home}

2.

改動 ${opencv_home}/platforms/scripts/cmake_android_arm.sh 檔案,加入編譯選項 -DBUILD_SHARED_LIBS=ON 和 -DWITH_OPENCL=ON
改動後的cmake_android_arm.sh 檔案例如以下:

#!/bin/shcd `dirname $0`/..mkdir -p build_android_armcd build_android_armcmake -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_TOOLCHAIN_FILE=../android/android.toolchain.cmake [email protected] ../..      -DBUILD_SHARED_LIBS=ON -DWITH_OPENCL=ON

3.

改動 ${opencv_home}/cmake/OpenCVDetectOpenCL.cmake

以便產生支援編譯opencl 的編譯選項:

在OpenCVDetectOpenCL.cmake 40 行後面加入

set(OPENCL_FOUND YES)set(OPENCL_INCLUDE_DIR your_ocl_include_dir)#set(OPENCL_LIBRARY    you_opencl_lib_file_path)

一個是設定ocl標頭檔,一個設定opencl 庫檔案的, 上面把他凝視掉了是由於本人要用的是動態顯示調用的方式去調用opencl庫的api。 這樣就不用在編譯的加入於裝置相關的opencl庫了。

 

4.

改動 ${opencv_home}/CMakeLists.txtOCV_OPTION(WITH_OPENCL "Include OpenCL Runtime support" ON IF (NOT IOS) )

這一步好像在opencv2.4.9 版本號碼的原始碼不用設定能夠。 

這個的主要目的是為了能是下一步產生支援opencl 的選項。


5.運行 ${opencv_home}/platforms/scripts/cmake_android_arm.sh

假設運行有問題。 設定NDK 路徑:

終端運行:export NDKROOT=/xxxx/android-ndk-r9d

能夠看到:
--   Other third-party libraries:
--     Use IPP:                     NO
--     Use Eigen:                   NO
--     Use TBB:                     NO
--     Use OpenMP:                  NO
--     Use GCD                      NO
--     Use Concurrency              NO
--     Use C=:                      NO
--     Use Cuda:                    NO
--     Use OpenCL:                  YES

這這樣就能編譯相關的庫了。 只是假設沒有設定

set(OPENCL_LIBRARY    you_opencl_lib_file_path)
這個可能會導致一些test 編譯只是去,沒有關係, ocl的相關庫已經能編譯好了。

6. 切換到 ${opencv_home}/platforms/build_android_arm 檔案夾:

運行:make

等待編譯完畢吧...

7.終於Andorid動態庫在${opencv_home}/platforms/build_android_arm/lib/armeabi-v7a下產生

對於Android x86 的同理Android arm 庫的編譯方法, 僅僅是步驟2, 5操作指令碼是 ${opencv_home}/platforms/scripts/cmake_android_x86.sh

祝你使用愉快。 有什麼問題。 歡迎指出。 以便更正。









Build opencv libraries for android arm, x86 ubuntu

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.