曂沅仴駦 发表于 2024-12-19 14:40:09

Android Studio设置OpenCV库以及题目办理。

目录
1、下载opencv Android版本
2、手动从本地导入opencv的sdk包
3、更改build的相关版本
4、手动添加依赖
5、错误
1、命令空间错误。Namespace not specified
2、找不到 BuildConfig
3、程序包 org.opencv.engine不存在
6、测试
总结步调
1.导入模块
2.表明konlin
3. 添加依赖
4.OpenCV的Build文件须要修改参数的版本 ,紧张是3个,opencv和app中对应
5.在OpenCV-Build文件中添加namespace
6. 在OpenCV-Build文件中添加设置BuildConfig
5.拷贝文件
6.测试 

AS版本 2024.1.1
安装参考:http://t.csdnimg.cn/fmxRq
1、下载opencv Android版本

网址:https://opencv.org/releases/
后解压。解压路径最好不要有中文。
2、手动从本地导入opencv的sdk包

新建项目。导入模块File——New——Import Moudule。https://i-blog.csdnimg.cn/direct/f62cc410d5a2431cb9019719e2f9945d.png
选择sdk。
https://i-blog.csdnimg.cn/direct/a0aa9a976cdc420f9da3ed7fea7f2899.png
更改名字为OpenCVhttps://i-blog.csdnimg.cn/direct/17a7a2ad89954b618614ee237f575480.png
此时 报错。
https://i-blog.csdnimg.cn/direct/7c5dd67fa6da47a2beae0e41071d1f84.png

到Module下的build.gradle文件,表明这一行,try again。
https://i-blog.csdnimg.cn/direct/753cbbd0f90f417f832add3b774cc706.png
3、更改build的相关版本


将app中build文件的版记下https://i-blog.csdnimg.cn/direct/aa03a163fe224c06a7e66ba5593b3e94.png
把opencv的build文件改成自己对应的一模一样的版本
https://i-blog.csdnimg.cn/direct/00f214bba7aa4ed189a6387fd590fa6c.png
4、手动添加依赖

打开。
https://i-blog.csdnimg.cn/direct/2fd841aa4b32421291f0b245aab7cbb6.png



到下面路径,添加opencv后,点击Apply。https://i-blog.csdnimg.cn/direct/7cc6424cf0be45a596109d8c85180702.png
https://i-blog.csdnimg.cn/direct/df05c76b027043ba9b2faecf7306f0c1.png
5、错误

1、命令空间错误。Namespace not specified

题目描述:
   Namespace not specified. Specify a namespace in the module's build file: D:\AndroidProjects\MyFirstApplication\OpenCV\build.gradle. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.
If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.
在每一个模块中,都有一个build.gradle文件和AndroidManifest.xml,现在须要做的就是把AndroidManifest.xml中package="com.aaa.bbb"包名添加到模块对应的build.gradle中。
办理:我们找到OpenCV模块AndroidManifest.xml文件的包名,如下,把对应 namespace 'org.opencv'添加到opencv对应的Build文件中。https://i-blog.csdnimg.cn/direct/2d2469902d18428fa0d3f21e0679a0ec.png
文件位置如图。https://i-blog.csdnimg.cn/direct/039a0bc93f7648278d9505da9a518e87.png


2、找不到 BuildConfig

题目描述:
    if (BuildConfig.DEBUG||true)           ^ 符号:   变量 BuildConfig 位置: 类 JavaCameraView
办理:OpenCV project uses buildConfig feature. Please enable it in MyApplication/OpenCV/build.gradle file to android block。
也就是在OpenCV的Build.gradle 文件中添加下面语句
buildFeatures{
 buildConfig true
} 如图:
https://i-blog.csdnimg.cn/direct/e6028c22e9ce4ff6ba1d6e9e4ae7799c.png
检查天生的 BuildConfig.java 文件是否正确天生。可以在app/build/generated/source/buildConfig 目录下找到它
https://i-blog.csdnimg.cn/direct/984adee30cda42d4bf89215b400f49cd.png
参考:OpenCV: Android Development with OpenCV
3、程序包 org.opencv.engine不存在

题目描述
   错误: 程序包org.opencv.engine不存在 错误: 找不到符号   protected OpenCVEngineInterface mEngineService   程序包OpenCVEngineInterface不存在所有这些错误都是由同一件事引起的-org.opencv.engine。因为SDK 里面提供的是aidl文件路径和Android 默认的差别。
办理方法:
第一步:在app/src/main下新建一个路径 aidl/org/opencv/engine。然后把原SDK路径,也就是OpenCV/java/src/org.opencv.engine包下的aidl文件拷贝到前面你新建的路径下。https://i-blog.csdnimg.cn/direct/e406d727a2214df1bad8101d25ae3a64.png
第2步:在opencv的Build文件中添加语句:
buildFeatures {
    aidl true
} https://i-blog.csdnimg.cn/direct/2c12a94833734b63a7533c60980caa46.png
第3步:向gradle.properties中添加下述代码
android.defaults.buildfeatures.buildconfig=true
如图:
https://i-blog.csdnimg.cn/direct/877cea57c8b646ee951032b1e961104c.png
题目参考:opencv4android3.0,android-Opencv 3.0.0 OpenCVEngineInterface-CSDN博客
Android studio中导入opencv库_import org.opencv.engine.opencvengineinterface;-CSDN博客
6、测试

在MainActivity.java中用下面测试。
if (OpenCVLoader.initDebug()) {
            Log.i("cv", "OpenCV loaded successfully");
      } else {
            Log.e("cv", "OpenCV initialization failed!");
            return;
      }
成功 控制台输出。
https://i-blog.csdnimg.cn/direct/6f8cfc5576b44d13990cc8e8f9cef332.png
总结步调

1.导入模块

2.表明konlin

3. 添加依赖

4.OpenCV的Build文件须要修改参数的版本 ,紧张是3个,opencv和app中对应

5.在OpenCV-Build文件中添加namespace

namespace 'org.opencv' 6. 在OpenCV-Build文件中添加设置BuildConfig

buildFeatures{
    buildConfig true
}
5.拷贝文件

        (1)app/src/main下新建一个路径 aidl/org/opencv/engine。然后把OpenCV/java/src/org.opencv.engine包下的aidl文件拷贝到新建中。
        (2)在opencv-Build文件中添加语句
buildFeatures {
    aidl true
}         (3)向gradle.properties中添加下述代码
android.defaults.buildfeatures.buildconfig=true


最后 OpenCV-Build文件中添加的有:
 https://i-blog.csdnimg.cn/direct/4b8b4d9be95348c49459c5ee4cded989.png 
gradle.properties中
https://i-blog.csdnimg.cn/direct/63a10930bb0e4488a52b73c33df615ba.png
6.测试 

在MainActivity.java中测试



        



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Android Studio设置OpenCV库以及题目办理。