生活随笔
收集整理的這篇文章主要介紹了
端计算(9)-android opencv(1)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Android是谷歌領(lǐng)導(dǎo)的開放手機(jī)聯(lián)盟開發(fā)的基于linux的開源移動操作系統(tǒng)。詳細(xì)信息請參見Android主頁。
Android平臺的開發(fā)與其他平臺的開發(fā)有很大的不同。所以,在開始為Android編程之前,我們建議你確保你熟悉以下關(guān)鍵主題:
Java編程語言,是Android操作系統(tǒng)的主要開發(fā)技術(shù)。此外,你可以發(fā)現(xiàn)Oracle文檔對Java很有用。
Java Native Interface (JNI)是一種在Java虛擬機(jī)中運(yùn)行本機(jī)代碼的技術(shù)。此外,您還可以發(fā)現(xiàn)關(guān)于JNI的Oracle文檔非常有用。
Android Activity和它的生命周期,這是一個(gè)基本的Android API類。
OpenCV的開發(fā)當(dāng)然需要對Android攝像頭有一定的了解。
android studio緩存目錄更改配置
1.下載opencv
https://opencv.org/releases/
2.最好使用JDK,最好不要使用android studio自帶jrd,目前JDK版本不能超過15,推薦使用JDK15,我直接用的openjdk
3.加入opencv模塊,方法如下,
我試圖直接導(dǎo)入opencv到android studio,next按鈕為灰色,所以只能使用這種方法。
// Add module into Android Studio application project:
//
// - Android Studio way:
// (will copy almost all OpenCV Android SDK into your project, ~200Mb)
//
// Import module: Menu -> "File" -> "New" -> "Module" -> "Import Gradle project":
// Source directory: select this "sdk" directory
// Module name: ":opencv"
//
// - or attach library module from OpenCV Android SDK
// (without copying into application project directory, allow to share the same module between projects)
//
// Edit "settings.gradle" and add these lines:
//
// def opencvsdk='
<path_to_opencv_android_sdk_rootdir>'
// // You can put declaration above into gradle.properties file instead (including file in HOME directory),
// // but without 'def' and apostrophe symbols ('): opencvsdk=
<path_to_opencv_android_sdk_rootdir>
// include ':opencv'
// project(':opencv').projectDir = new File(opencvsdk + '/sdk')
//
//
//
// Add dependency into application module:
//
// - Android Studio way:
// "Open Module Settings" (F4) -> "Dependencies" tab
//
// - or add "project(':opencv')" dependency into app/build.gradle:
//
// dependencies {
// implementation fileTree(dir: 'libs', include: ['*.jar'])
// ...
// implementation project(':opencv')
// }
//
//
//
// Load OpenCV native library before using:
//
// - avoid using of "OpenCVLoader.initAsync()" approach - it is deprecated
// It may load library with different version (from OpenCV Android Manager, which is installed separatelly on device)
//
// - use "System.loadLibrary("opencv_java4")" or "OpenCVLoader.initDebug()"
// TODO: Add accurate API to load OpenCV native library
//
//
//
// Native C++ support (necessary to use OpenCV in native code of application only):
//
// - Use find_package() in app/CMakeLists.txt:
//
// find_package(OpenCV 3.4 REQUIRED java)
// ...
// target_link_libraries(native-lib ${OpenCV_LIBRARIES})
//
// - Add "OpenCV_DIR" and enable C++ exceptions/RTTI support via app/build.gradle
// Documentation about CMake options: https://developer.android.com/ndk/guides/cmake.html
//
// defaultConfig {
// ...
// externalNativeBuild {
// cmake {
// cppFlags "-std=c++11 -frtti -fexceptions"
// arguments "-DOpenCV_DIR=" + opencvsdk + "/sdk/native/jni" // , "-DANDROID_ARM_NEON=TRUE"
// }
// }
// }
//
// - (optional) Limit/filter ABIs to build ('android' scope of 'app/build.gradle'):
// Useful information: https://developer.android.com/studio/build/gradle-tips.html (Configure separate APKs per ABI)
//
// splits {
// abi {
// enable true
// universalApk false
// reset()
// include 'armeabi-v7a' // , 'x86', 'x86_64', 'arm64-v8a'
// }
// }
//
總結(jié)
以上是生活随笔為你收集整理的端计算(9)-android opencv(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。