Android 环境下OpenCV使用-- 环境搭建(一)

OpenCv 环境搭建

      • 1、OpenCV SDK下载
      • 2、Android Studio 创建 C++ 工程
      • 3、openCV的so库 加载项目中
      • 4、加载头文件
      • 5、配置 CmakeLists文件
      • 6、gradle 文件配置
      • 7、jni中验证 openCV
      • 8、项目编译

1、OpenCV SDK下载

openCv官网下载
Android 环境下OpenCV使用-- 环境搭建(一)_第1张图片

2、Android Studio 创建 C++ 工程

Android 环境下OpenCV使用-- 环境搭建(一)_第2张图片

3、openCV的so库 加载项目中

  1. src->main目录下新建 jniLibs
  2. 下载的openCv的sdk的 opencv-4.1.0-android-sdk\OpenCV-android-sdk\sdk\native\libs目录对应平台的so库复制进来

Android 环境下OpenCV使用-- 环境搭建(一)_第3张图片

4、加载头文件

将sdk目录下边的头文件目录 include的头文件加载到项目中
Android 环境下OpenCV使用-- 环境搭建(一)_第4张图片
Android 环境下OpenCV使用-- 环境搭建(一)_第5张图片

5、配置 CmakeLists文件



cmake_minimum_required(VERSION 3.10.2)


project("open")


include_directories(include)

add_library(
        open


        SHARED


        native-lib.cpp)



find_library(
        log-lib

        log)


set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${CMAKE_SOURCE_DIR}/../jniLibs/${CMAKE_ANDROID_ARCH_ABI}")

target_link_libraries(
        open
        opencv_java4
        ${log-lib})

6、gradle 文件配置

 defaultConfig {
     
        externalNativeBuild {
            cmake {
                cppFlags ''
                abiFilters 'armeabi-v7a'
            }
        }

        ndk{
            abiFilters 'armeabi-v7a'
        }

    }

7、jni中验证 openCV

#include 
#include 


#include "opencv2/opencv.hpp"

using namespace cv;

extern "C" JNIEXPORT jstring JNICALL
Java_com_xyx_open_MainActivity_stringFromJNI(
        JNIEnv* env,
        jobject /* this */) {
    std::string hello = "Hello from C++";

    Mat src=imread("sdcard/test_20220811161338.png");

    cvtColor(src,src,COLOR_BGR2GRAY);

    imwrite("/sdcard/test1.png",src);

    src.release();

    return env->NewStringUTF(hello.c_str());
}

8、项目编译

简单测试,将sdcard目录下的一张照片,通过opencv处理,输出成功,openCV在Android 上的使用环境已经没问题。

你可能感兴趣的:(openCV,android,opencv,人工智能)