OpenCV 在 Android 上的应用

本文介绍了OpenCV在Android上的应用,包括配置过程、二维码识别的兜底方案和比对图像差异的示例。通过JNI调用C++类,实现对图像的预处理、二维码定位与内容识别,以及回收机内物体检测。总结了OpenCV在移动端的优缺点,探讨了SDK体积优化的可能性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 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}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值