一. OpenCV 介绍
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
在移动端上使用 OpenCV 可以完成一系列图像处理的工作。
二. OpenCV 在 Android 上的配置
我在项目中使用的 OpenCV 版本是 4.x。
在 Android Studio 中创建一个 Library,将官网下载的 OpenCV 导入后,就可以直接调用 OpenCV 中 Java 类的方法。
如果想调用 C++ 的类,也可以使用 CMake 创建环境,然后通过 include 文件放入指定路径。
下面是项目中使用的 CMakeLists.txt
cmake_minimum_required(VERSION 3.6.0)
include_directories(
${CMAKE_SOURCE_DIR}/src/main/cpp/include
)
add_library(libopencv_java4 SHARED IMPORTED)
set_target_properties(
libopencv_java4
PROPERTIES IMPORTED_LOCATION
${CMAKE_SOURCE_DIR}/src/main/jniLibs/libs/${ANDROID_ABI}/libopencv_java4.so)
add_library(libc++_shared SHARED IMPORTED)
set_target_properties(
libc++_shared
PROPERTIES IMPORTED_LOCATION
${CMAKE_SOURCE_DIR}/src/main/jniLibs/libs/${ANDROID_ABI}/libc++_shared.so)
add_library(
detect
SHARED
src/main/cpp/detect-lib.cpp
src/main/cpp/detect-phone.cpp
)
find_library(
log-lib
log
)
target_link_libraries(
detect libopencv_java4 libc++_shared jnigraphics
${log-lib}