当前位置: 首页 > wzjs >正文

各类网站排行今日头条热搜

各类网站排行,今日头条热搜,佛山专业做网站公司哪家好,翻译网站怎么做在 Android Studio 中连接新版 OpenCV(4.11) 很多教程都无法正常在新版工作,因此这里我更新一下教程。后面会再写一个如何加入cpp的教程。 一、准备工作 下载 OpenCV Android SDK 访问:https://opencv.org/releases/下载如 OpenC…

在 Android Studio 中连接新版 OpenCV(4.11)

很多教程都无法正常在新版工作,因此这里我更新一下教程。后面会再写一个如何加入cpp的教程。


一、准备工作

  1. 下载 OpenCV Android SDK

    • 访问:https://opencv.org/releases/
    • 下载如 OpenCV-4.x.x-android-sdk.zip
    • 解压至任意目录,例如:~/Android/OpenCV-android-sdk
  2. 安装 Android Studio

    • https://developer.android.com/studio

二、新建 Android 项目

  1. 打开 Android Studio,选择 New Project
  2. 使用 Empty Activity
  3. 输入项目名,例如 OpenCVTest
  4. 设置语言为 JavaKotlin(建议使用 Java)
  5. 选择合适的最小 API Level(建议 API 21 或更高)

三、集成 OpenCV 库

方式一:使用 OpenCV SDK 模块(推荐)

  1. 导入 OpenCV SDK 模块

    • 在 Android Studio 中右键项目根目录 > New > Import Module
    • 路径选择:<OpenCV-android-sdk>/sdk/java
    • Module name 保持默认::openCVLibrary4
  2. 将 OpenCV 模块添加到你的 app 中

    编辑 settings.gradle

    include ':app', ':openCVLibrary4'
    

    编辑 app/build.gradle

    dependencies {implementation project(':openCVLibrary4')
    }
    

四、配置 Native 支持(可选)

如果你需要使用 OpenCV 的 C++ 接口(如通过 JNI),可添加 NDK 支持。

  1. 启用 C++ 支持

    • 在新建项目时勾选“Include C++ Support”,或
    • 手动添加 CMakeLists.txt 与 JNI 源码
  2. 编辑 CMakeLists.txt

    cmake_minimum_required(VERSION 3.4.1)set(OpenCV_DIR <OpenCV-android-sdk>/sdk/native/jni)
    find_package(OpenCV REQUIRED)add_library(native-lib SHARED native-lib.cpp)target_link_libraries(native-lib ${OpenCV_LIBS} log)
    
  3. 配置 build.gradle

    externalNativeBuild {cmake {path "src/main/cpp/CMakeLists.txt"}
    }sourceSets {main {jniLibs.srcDirs = ['<OpenCV-android-sdk>/sdk/native/libs']}
    }
    

五、加载 OpenCV 库

MainActivity.java 中添加如下代码:

import org.opencv.android.OpenCVLoader;
import android.util.Log;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {private static final String TAG = "OpenCV";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);if (!OpenCVLoader.initDebug()) {Log.e(TAG, "OpenCV initialization failed!");Toast.makeText(this, "OpenCV initialization failed!", Toast.LENGTH_LONG).show();} else {Log.i(TAG, "OpenCV loaded successfully");}}
}

六、验证配置

  1. 运行 app,查看 Logcat 是否输出:

    OpenCV loaded successfully
    
  2. 若提示失败,确认:

    • jniLibs 是否包含了合适架构的 .so 文件
    • OpenCVLoader.initDebug() 被正确调用

七、调试和注意事项

  • initDebug() 仅适用于调试模式。发布版本请使用 OpenCV Manager 或静态初始化。

  • 可用命令确认 .so 文件架构是否匹配:

    file libopencv_java4.so
    
  • 若使用 Kotlin,语法略有差异,注意 API 兼容性。


八、附录

JNI 示例:

#include <jni.h>
#include <string>
#include <opencv2/core.hpp>extern "C" JNIEXPORT jstring JNICALL
Java_com_example_opencvtest_MainActivity_stringFromJNI(JNIEnv* env,jobject /* this */) {cv::Mat mat = cv::Mat::eye(3, 3, CV_8UC1);std::string msg = "OpenCV Mat:\n" + std::to_string(mat.rows) + "x" + std::to_string(mat.cols);return env->NewStringUTF(msg.c_str());
}

九、参考链接

  • OpenCV for Android 官方文档
  • OpenCV GitHub
  • NDK 配置文档
http://www.dtcms.com/wzjs/108869.html

相关文章:

  • 南京网站建设价格平台推广方式
  • 群晖做网站服务器会卡吗百度官网认证多少钱
  • 同性恋色做视频网站总裁班课程培训
  • 公司logo设计大全 图片欣赏济源新站seo关键词排名推广
  • 网站设计就业培训学校排名重庆网站到首页排名
  • 国外b2b网站域名北京朝阳区
  • 河北注册公司流程和费用怎样给自己的网站做优化
  • 英文版网站怎么做成都网络推广运营公司
  • 湖南做旅游网站哪家最好房产网站建设
  • 建设网站策划书seo优化专员工作内容
  • 鲁东大学课程网站建设如何删除广州疫情防控措施
  • 果酱wordpress长沙百度快速优化
  • 常州建设局网站江苏seo平台
  • 网站管理文档怎么写百度推广开户联系方式
  • 做租房网站佛山网站建设制作公司
  • 动态网站代做sem优化服务公司
  • 做信息类网站免费com域名申请注册
  • 免费空间域名可以做淘宝客网站推广吗上海百度研发中心
  • 网站如何做词百度搜索榜单
  • 网站开发是什百度识别图片找图
  • 前端和web前端的区别郑州seo优化外包
  • 网站开发工程师是干嘛的什么是信息流广告
  • 云巅seo现在的seo1发布页在哪里
  • 用别人网站名做长尾关键词商城网站开发公司
  • 做卡贴的网站品牌营销策划怎么写
  • 自己如何高效有力的维护一个网站淘宝店铺怎么推广
  • 云南网站设计模板福州百度推广排名优化
  • 哪里有免费电影网站爱站网ip反域名查询
  • 怎样做内网网站免费下载百度软件
  • 网站设计与网页制作代码大全网络运营怎么学