如何把OpenCV v3.1.0整合到 Android Studio v1.4.1

本文详细介绍如何在Android Studio中集成OpenCV库,包括创建工程、下载及配置OpenCV库、同步Gradle等步骤,帮助初学者快速入门。

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

本文翻译自: https://stackoverflow.com/questions/27406303/opencv-in-android-studio   点击打开链接

有经验的Android studio 开发大牛们可能觉得这篇文章写得太啰嗦,可是本文主要针对刚刚迈入进来的小妞们~~现在开始啦:

第一步

创建一个新工程(File/New Project

  • 命名为 "cvtest1"
  • Form factor: API 19, Android 4.4 (KitKat)
  • Blank Activity 命名为 MainActivity



不要忘了你的工程文件cvtest1存在哪哦!

第二步

下载OpenCV for Android v3.1.0 的开发包 (https://opencv.org/ ),并解压到电脑的一个路径下面。opencv开发包能适合多种平台平台,检测一下开发包的名字类似与opencv-3.4.1-android-sdk,不要下错了哦!

第三步

在 Android Studio 上导入 OpenCV 到上面刚刚建好的工程

把opencv 路径里面 opencv-android-sdk/sdk/java文件夹导入进去(File -> New -> Import module ) ,之后工程里面会多一个opencv341的文件夹。




如果你会遇到这个问题 :


这是因为你的Android studio默认不安装Android api version 14的编译器;

第四步

检测app的build.gradle和opencv的build.gradle下列四个版本号是否一致,不一致则将opencv的build.gradle修改成app的一致;

  • compileSDKVersion (mine says 23)
  • buildToolsVersion (mine says 23.0.2)
  • minSdkVersion (mine says 19)
  • targetSdkVersion (mine says 23)

第五步:

更新两个build.gradle,分别选中 -> 右键 -> synchronize "build.gradle",然后clean 以及rebuild (build -> clean project -> rebuild project )

第六步:

把opencv路径下的libs 文件复制到工程文件里面:

路径 opencv-Android-3.4.1-sdk/sdk/native/libs 内的所有文件全部复制到工程文件的cvtest1/OpenCVLibrary310/src/main/, 并在此文件夹新建jniLibs文件夹,存放复制过来的文件


第七步:

MainActivity.java 的onCreate 方法下粘贴下列代码:

if (!OpenCVLoader.initDebug()) {
    Log.e(this.getClass().getSimpleName(), "  OpenCVLoader.initDebug(), not working.");
} else {
    Log.d(this.getClass().getSimpleName(), "  OpenCVLoader.initDebug(), working.");
}

PS D:\ultralytics-main> & C:/Users/64553/miniconda3/envs/yolov8/python.exe d:/ultralytics-main/ultralytics/test.pyt Traceback (most recent call last): File "d:/ultralytics-main/ultralytics/test.pyt", line 4, in <module> model = YOLO(r"D:\ultralytics-main\ultralytics\cfg\models\v8\yolov8-CBAM.yaml",verbose=True) NameError: name &#39;YOLO&#39; is not defined PS D:\ultralytics-main> pip install ultralytics --upgrade Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Requirement already satisfied: ultralytics in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (8.3.144) Collecting ultralytics Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e0/d8/ec67f025483a74835a45b96c712c9c45277340ae5c4ca159f70bf9e89830/ultralytics-8.3.145-py3-none-any.whl (1.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 8.3 MB/s eta 0:00:00 Requirement already satisfied: numpy>=1.23.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (1.24.4) Requirement already satisfied: matplotlib>=3.3.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (3.7.5) Requirement already satisfied: opencv-python>=4.6.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (4.11.0.86) Requirement already satisfied: pillow>=7.1.2 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (10.4.0) Requirement already satisfied: pyyaml>=5.3.1 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (6.0.2) Requirement already satisfied: requests>=2.23.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (2.32.3) Requirement already satisfied: scipy>=1.4.1 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (1.10.1) Requirement already satisfied: torch>=1.8.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (2.0.0) Requirement already satisfied: torchvision>=0.9.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (0.15.1) Requirement already satisfied: tqdm>=4.64.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (4.67.1) Requirement already satisfied: psutil in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (7.0.0) Requirement already satisfied: py-cpuinfo in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (9.0.0) Requirement already satisfied: pandas>=1.1.4 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (2.0.3) Requirement already satisfied: ultralytics-thop>=2.0.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from ultralytics) (2.0.14) Requirement already satisfied: contourpy>=1.0.1 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from matplotlib>=3.3.0->ultralytics) (1.1.1) Requirement already satisfied: cycler>=0.10 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from matplotlib>=3.3.0->ultralytics) (0.12.1) Requirement already satisfied: fonttools>=4.22.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from matplotlib>=3.3.0->ultralytics) (4.57.0) Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from matplotlib>=3.3.0->ultralytics) (1.4.7) Requirement already satisfied: packaging>=20.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from matplotlib>=3.3.0->ultralytics) (25.0) Requirement already satisfied: pyparsing>=2.3.1 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from matplotlib>=3.3.0->ultralytics) (3.1.4) Requirement already satisfied: python-dateutil>=2.7 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from matplotlib>=3.3.0->ultralytics) (2.9.0.post0) Requirement already satisfied: importlib-resources>=3.2.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from matplotlib>=3.3.0->ultralytics) (6.4.5) Requirement already satisfied: pytz>=2020.1 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from pandas>=1.1.4->ultralytics) (2025.2) Requirement already satisfied: tzdata>=2022.1 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from pandas>=1.1.4->ultralytics) (2025.2) Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from requests>=2.23.0->ultralytics) (3.4.1) Requirement already satisfied: idna<4,>=2.5 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from requests>=2.23.0->ultralytics) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from requests>=2.23.0->ultralytics) (2.2.3) Requirement already satisfied: certifi>=2017.4.17 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from requests>=2.23.0->ultralytics) (2025.1.31) Requirement already satisfied: filelock in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from torch>=1.8.0->ultralytics) (3.16.1) Requirement already satisfied: typing-extensions in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from torch>=1.8.0->ultralytics) (4.13.2) Requirement already satisfied: sympy in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from torch>=1.8.0->ultralytics) (1.13.3) Requirement already satisfied: networkx in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from torch>=1.8.0->ultralytics) (3.1) Requirement already satisfied: jinja2 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from torch>=1.8.0->ultralytics) (3.1.6) Requirement already satisfied: colorama in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from tqdm>=4.64.0->ultralytics) (0.4.6) Requirement already satisfied: zipp>=3.1.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from importlib-resources>=3.2.0->matplotlib>=3.3.0->ultralytics) (3.20.2) Requirement already satisfied: six>=1.5 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from python-dateutil>=2.7->matplotlib>=3.3.0->ultralytics) (1.17.0) Requirement already satisfied: MarkupSafe>=2.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from jinja2->torch>=1.8.0->ultralytics) (2.1.5) Requirement already satisfied: mpmath<1.4,>=1.1.0 in c:\users\64553\miniconda3\envs\yolov8\lib\site-packages (from sympy->torch>=1.8.0->ultralytics) (1.3.0) Installing collected packages: ultralytics Attempting uninstall: ultralytics Found existing installation: ultralytics 8.3.144 Uninstalling ultralytics-8.3.144: Successfully uninstalled ultralytics-8.3.144 Successfully installed ultralytics-8.3.145 PS D:\ultralytics-main> & C:/Users/64553/miniconda3/envs/yolov8/python.exe d:/ultralytics-main/ultralytics/test.pyt WARNING Unable to automatically guess model task, assuming &#39;task=detect&#39;. Explicitly define task for your model, i.e. &#39;task=detect&#39;, &#39;segment&#39;, &#39;classify&#39;,&#39;pose&#39; or &#39;obb&#39;. Traceback (most recent call last): File "d:/ultralytics-main/ultralytics/test.pyt", line 6, in <module> model = YOLO(r"D:\ultralytics-main\ultralytics\cfg\models\v8\yolov8-CBAM.yaml") # 加载预训练模型 File "C:\Users\64553\miniconda3\envs\yolov8\lib\site-packages\ultralytics\models\yolo\model.py", line 79, in __init__ super().__init__(model=model, task=task, verbose=verbose) File "C:\Users\64553\miniconda3\envs\yolov8\lib\site-packages\ultralytics\engine\model.py", line 149, in __init__ self._new(model, task=task, verbose=verbose) File "C:\Users\64553\miniconda3\envs\yolov8\lib\site-packages\ultralytics\engine\model.py", line 261, in _new self.model = (model or self._smart_load("model"))(cfg_dict, verbose=verbose and RANK == -1) # build model File "C:\Users\64553\miniconda3\envs\yolov8\lib\site-packages\ultralytics\nn\tasks.py", line 385, in __init__ if self.yaml["backbone"][0][2] == "Silence": KeyError: &#39;backbone&#39; PS D:\ultralytics-main> & C:/Users/64553/miniconda3/envs/yolov8/python.exe d:/ultralytics-main/ultralytics/test.pyt WARNING Unable to automatically guess model task, assuming &#39;task=detect&#39;. Explicitly define task for your model, i.e. &#39;task=detect&#39;, &#39;segment&#39;, &#39;classify&#39;,&#39;pose&#39; or &#39;obb&#39;. Traceback (most recent call last): File "d:/ultralytics-main/ultralytics/test.pyt", line 6, in <module> model = YOLO(r"D:\ultralytics-main\ultralytics\cfg\models\v8\yolov8-CBAM.yaml") # 加载预训练模型 File "C:\Users\64553\miniconda3\envs\yolov8\lib\site-packages\ultralytics\models\yolo\model.py", line 79, in __init__ super().__init__(model=model, task=task, verbose=verbose) File "C:\Users\64553\miniconda3\envs\yolov8\lib\site-packages\ultralytics\engine\model.py", line 149, in __init__ self._new(model, task=task, verbose=verbose) File "C:\Users\64553\miniconda3\envs\yolov8\lib\site-packages\ultralytics\engine\model.py", line 261, in _new self.model = (model or self._smart_load("model"))(cfg_dict, verbose=verbose and RANK == -1) # build model File "C:\Users\64553\miniconda3\envs\yolov8\lib\site-packages\ultralytics\nn\tasks.py", line 385, in __init__ if self.yaml["backbone"][0][2] == "Silence": KeyError: &#39;backbone&#39;
05-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值