建设网站是否需要一个主机,下载手机app客户端下载安装,wordpress的安全错误,wordpress 数据站文章不配图片#xff0c;阅读需要有Android开发基础并熟悉Android Studio。一、搭建基于Java开发环境以下内容介绍如何搭建基于Java jni的opencv开发环境。1、准备工作从opencv官网下载Android平台开发sdk并解压#xff0c;假设解压后文件夹名为opencv-4.3.0-android-sdk。(此…文章不配图片阅读需要有Android开发基础并熟悉Android Studio。一、搭建基于Java开发环境以下内容介绍如何搭建基于Java jni的opencv开发环境。1、准备工作从opencv官网下载Android平台开发sdk并解压假设解压后文件夹名为opencv-4.3.0-android-sdk。(此处以4.3.0为例)2、创建项目使用Android Studio(下简称AS)创建项目假设项目名叫 cvdemo。3、创建Module创建新的Module作为opencv sdk假设其名为opencv4。之所以选择创建新Module而不是导入只是因为opencv提供的目录结构像是ADTgradle将会有大量配置目录的信息。4、导入代码将java代码和res资源放进Module的对应目录将存放本地动态文件*.so的 /opencv-4.3.0-android-sdk/sdk/native/libs/ 目录拷贝到opencv4的根目录下即/cvdemo/opencv4/libs/。打开opencv4的build.gradle在android内添加sourceSets如下android {...//其他配置信息sourceSets {main {jniLibs.srcDirs [libs]//此目录即为上述添加的目录}}...//其他配置信息}刷新项目项目下会出现名为jniLibs的虚拟目录并能查看到对应平台下的本地动态文件*.so。此时已经可以依赖此Module实现Java开发。二、搭建基于C/C开发环境虽然opencv提供面向Android的SDK但是实际测试效果并不理想特别在遍历Mat的时候那效率简直感人。所以采用本地开发也是不错的选择。继续配置以下内容实现本地开发以下内容假设项目是在 app Module内做本地开发。5.配置jni开发打开项目的local.properties文件AS默认没有配置ndk目录确保ndk目录配置正确// 把sdk.dir和ndk.dir路径修改成你自己的目录sdk.dir/Applications/Android_SDK_Managerndk.dir/Applications/Android_SDK_Manager/ndk/21.1.63524626.复制头文件找到头文件*.h和*.hpp所在的目录/opencv-4.3.0-android-sdk/sdk/native/jni/include/将其下的所有内容(在4.3.0版本其下只有一个opencv2目录)拷贝到/opencv4/src/main/cpp/下。因为头文件不是开发源代码所以不需要添加到build.gradle里。只要让CMakeLists.txt能导入即可。7. 创建CMakeLists.txt创建目录/cvdemo/app/src/main/cpp/做为本地开发代码的目录。假设本地项目只有my_native.cpp一个文件并将编译成名为libmy_native.so的动态文件。在cpp目录下创建文件CMakeLists.txt内容如下#CMakeLists.txt#定义变量名为opencv值为opencv sdk(opencv4 Module)目录#为了项目导入导出后不用修改此处采用相对路径定位。#CMAKE_SOURCE_DIR变量为CMakeLists.txt所在目录。set(opencv ${CMAKE_SOURCE_DIR}/../../../../opencv4)cmake_minimum_required(VERSION 3.4.1)#配置加载native依赖#引入opencv头文件所在目录include_directories(${opencv}/src/main/cpp)#引入opencv库add_library(opencv_java4SHAREDIMPORTED)#引入动态文件set_target_properties(opencv_java4PROPERTIES IMPORTED_LOCATION${opencv}/libs/${ANDROID_ABI}/libopencv_java4.so)#以下为开发的本地库的配置此处不做详解add_library(my_nativeSHAREDmy_native.cpp)find_library(log-liblog)target_link_libraries(my_native#此处也要添加opencv_java4${log-lib})8. 修改build.gradle接着修改本地源码所在的Module(此处假定的是app)的build.gradle内容如下android {...//其他配置信息defaultConfig {...//其他配置信息externalNativeBuild {cmake {cppFlags -frtti -fexceptionsarguments -DANDROID_STLc_shared//导入C标准库}}ndk {//需要编译的平台abiFilters arm64-v8a, armeabi-v7a, x86, x86_64}}externalNativeBuild {cmake {path src/main/cpp/CMakeLists.txt//cmake所在位置version 3.10.2}}...//其他配置}...//其他配置dependencies {implementation fileTree(dir: libs, include: [*.jar])//最后别忘了引用opencv sdk Moduleimplementation project(path: :opencv4)...//其他引用内容}9、其他my_native.cpp提供的jni接口函数本文不做赘述可以查看其他相关文档。因为各种配置相关路径在build.gradle和CMakeList.txt里都可以修改所以可以根据自己情况做修改。