Android studio单独导入官方例程camera-calibration

news2025/4/9 1:56:49

1.官方例程camera-calibration

在这里插入图片描述

2.将官方例程camera-calibration copy到AndroidStudioProjects项目目录下

在这里插入图片描述

3修改AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android=“http://schemas.android.com/apk/res/android”
package=“org.opencv.samples.cameracalibration”

<application
    android:label="@string/app_name"
    android:icon="@drawable/icon">

    <activity android:name="CameraCalibrationActivity"
              android:label="@string/app_name"
              android:screenOrientation="landscape"
              android:configChanges="keyboardHidden|orientation">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

<supports-screens android:resizeable="true"
                  android:smallScreens="true"
                  android:normalScreens="true"
                  android:largeScreens="true"
                  android:anyDensity="true" />

<uses-permission android:name="android.permission.CAMERA"/>

<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>

4.将opencv sdk当作module导入,并设置依赖:

在这里插入图片描述
5.下面是修改Gradle的各个文件

在这里插入图片描述
rootProject.name = “camera-calibration”
include ‘:libopencv’

在这里插入图片描述

apply plugin: ‘com.android.library’

def openCVersionName = “4.5.0”
def openCVersionCode = ((4 * 100 + 5) * 100 + 0) * 10 + 0

println "OpenCV: " +openCVersionName + " " + project.buildscript.sourceFile

android {
compileSdkVersion 26

defaultConfig {
    minSdkVersion 21
    targetSdkVersion 26

    versionCode openCVersionCode
    versionName openCVersionName

    externalNativeBuild {
        cmake {
            arguments "-DANDROID_STL=c++_shared"
            targets "opencv_jni_shared"
        }
    }
}

buildTypes {
    debug {
        packagingOptions {
            doNotStrip '**/*.so'  // controlled by OpenCV CMake scripts
        }
    }
    release {
        packagingOptions {
            doNotStrip '**/*.so'  // controlled by OpenCV CMake scripts
        }
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_6
    targetCompatibility JavaVersion.VERSION_1_6
}

sourceSets {
    main {
        jniLibs.srcDirs = ['native/libs']
        java.srcDirs = ['java/src']
        aidl.srcDirs = ['java/src']
        res.srcDirs = ['java/res']
        manifest.srcFile 'java/AndroidManifest.xml'
    }
}

externalNativeBuild {
    cmake {
        path (project.projectDir.toString() + '/libcxx_helper/CMakeLists.txt')
    }
}

}

dependencies {
}

下面要添加aliyun的镜像路径,不然会报错误:Android无法正常获取https://dl.google.com/dl/android/maven2/com/…
在这里插入图片描述
apply plugin: ‘com.android.application’
android {
compileSdkVersion 26
defaultConfig {
applicationId “org.opencv.samples.cameracalibration”
minSdkVersion 21
targetSdkVersion 26
versionCode 301
versionName “3.01”
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’
}
}
sourceSets {
main {
java.srcDirs = [‘src’]
aidl.srcDirs = [‘src’]
res.srcDirs = [‘res’]
manifest.srcFile ‘AndroidManifest.xml’
}
}
}
buildscript {
repositories {
maven{ url ‘https://maven.aliyun.com/nexus/content/groups/public/’}
maven{ url ‘https://maven.aliyun.com/repository/google’}
maven{ url ‘https://maven.aliyun.com/repository/gradle-plugin’}
maven{ url ‘https://maven.aliyun.com/repository/public’}
maven{ url ‘https://maven.aliyun.com/repository/jcenter’}
// google()
// mavenCentral()
}
dependencies {
classpath “com.android.tools.build:gradle:4.2.1”

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

}
allprojects {
repositories {
maven{ url ‘https://maven.aliyun.com/nexus/content/groups/public/’}
maven{ url ‘https://maven.aliyun.com/repository/google’}
maven{ url ‘https://maven.aliyun.com/repository/gradle-plugin’}
maven{ url ‘https://maven.aliyun.com/repository/public’}
maven{ url ‘https://maven.aliyun.com/repository/jcenter’}

// google()
// mavenCentral()
// jcenter() // Warning: this repository is going to shut down soon
}
}

dependencies {
//implementation fileTree(dir: ‘libs’, include: [‘*.jar’])
// implementation project(‘:opencv’)
implementation project(path: ‘:libopencv’)
}

在gradle.properties里面要把之前有按照其他人的方法设置了代理(比如别的大学的),需要把代理删掉。不然会报错误:Could not HEAD 'https://maven.aliyun.com/repository/google/com/android/tools/build/gradle/4.2.1/grad
C://user/**/.gradle/gradle.properties文件中检查有没有VPN代理,有的话注释掉

在这里插入图片描述
distributionBase=GRADLE_USER_HOME
distributionUrl=https://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/508259.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2007年计算机真题

2007年计算机真题 数学基础部分 一、用逻辑符号表达下列语句&#xff08;每小题 2 分&#xff0c;共 4 分&#xff09; 1&#xff0e;分别用两种量词形式写出&#xff1a;在北京居住的人未必都是北京人。 答: 全域: 所有人 P ( x ) \mathrm{P}(\mathrm{x}) P(x) 表示 x \…

「企业应用架构」应用架构概述

在信息系统中&#xff0c;应用架构或应用架构是构成企业架构&#xff08;EA&#xff09;支柱的几个架构域之一 应用架构描述了业务中使用的应用程序的行为&#xff0c;重点是它们如何相互之间以及如何与用户交互。它关注的是应用程序消费和生成的数据&#xff0c;而不是它们的内…

问题杂谈(三十)项目中引入Geotools

步骤 在pom.xml中确定好需要引入的模块&#xff0c;根据自己的需要修改 <!--geotool工具包--><dependency><groupId>org.geotools</groupId><artifactId>gt-epsg-hsql</artifactId><version>27.1</version></dependency&g…

这个学期,110多所高校把AI和大模型带进校园

2023 年春季学期&#xff0c;飞桨校园 AI Day 已登陆全国 114 所高校&#xff0c;为同学们提供了丰富的 AI 学习交流机会。 截至目前&#xff0c;超过 400 所高校的同学线上参与 AI 知识竞赛 PK &#xff0c;累计 2 万余名同学参与春季 AI Day 活动&#xff0c;更有 65 所高校举…

Express框架的路由配置

Express 是一个流行的基于 Node.js 的 Web 开发框架&#xff0c;它可以帮助我们快速搭建一个 Web 应用程序。在 Express 中&#xff0c;路由是一个非常重要的概念。路由指的是根据客户端请求的不同路径和 HTTP 方法来执行不同的处理逻辑。在本篇博客中&#xff0c;我们将介绍如…

美团太细了,HashMap可以存null,ConcurrentHashMap不可以,为什么?

△Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 420 篇原创分享 作者 l Hollis 来源 l Hollis&#xff08;ID&#xff1a;hollischuang&#xff09; 我们知道&#xff0c;ConcurrentHashMap在使用时&#xff0c;和HashMap有一个比较大的区别&#xff0c;那就是HashM…

基于Spring Boot的在线考试系统

系统分析 可行性分析 一个完整的系统&#xff0c;可行性分析是必须要有的&#xff0c;因为关系到系统生存问题&#xff0c;对开发的意义进行分析&#xff0c;能否通过本系统来补充线下在线考试管理模式中的缺限&#xff0c;去解决其中的不足等&#xff0c;通过对本系统&#…

FastStone Capture安装、注册及使用教程(截屏、滚动截图、录屏、图片编辑工具)

FastStone Capture是一款集截屏、滚动截图、录屏、图片编辑为一体轻量级截图软件。免费试用30天。 如果你需要找一个具有上述红色字描述的功能的软件的话&#xff0c;可以继续往下阅读。若是你想找一个截图贴图的软件&#xff0c;可以参考&#xff1a; Snipaste介绍、安装、使用…

学系统集成项目管理工程师(中项)系列19b_成本管理(下)

1. 成本估算 1.1. 编制完成项目活动所需资源的大致成本 1.2. 在设计阶段多做些额外的工作可能减少执行阶段和产品运行时的成本 1.3. 项目估算的准确性随着项目的进展而提高 1.3.1. 【19下选48】 1.4. 针对完成活动所需资源的可能成本进行的量化评估 1.5. 容易被忽视的主要…

如何从0开始系统的学习kotlin?

Kotlin强大的静态语言特性相信不用我多讲&#xff0c;大家都或多或少明白一些。无论是对于安卓程序员还是JavaEE程序员来说&#xff0c;掌握Kotlin都是十分有必要的。 Kotlin作为谷歌官方支持的编程语言&#xff0c;目前&#xff0c;不少公司的Android开发工程师岗位表示要有K…

基于springboot广场舞团

系统分析 系统可行性分析 1、经济可行性 由于本系统本身存在一些技术层面的缺陷&#xff0c;并不能直接用于商业用途&#xff0c;只想要通过该系统的开发提高自身学术水平&#xff0c;不需要特定服务器等额外花费。所有创造及工作过程仅需在个人电脑上就能实现&#xff0c;使…

[架构之路-193]-《软考-系统分析师》-2-应用数学 - 项目周期与关键路径(PERT图、甘特图、单代号网络图、双代号网络图)

1. 关键概念 1.1 关键路径 关键路径通常&#xff08;但并非总是&#xff09;是决定项目工期的进度活动序列。它是项目中最长的路径&#xff0c;即使很小浮动也可能直接影响整个项目的最早完成时间。关键路径的工期决定了整个项目的工期&#xff0c;任何关键路径上的终端元素…

asp.net+C#德育课程分数统计管理系统

本中小学德育管理系统主要学校内部提供服务&#xff0c;系统分为管理员&#xff0c;教师和学生3个大模块。 本研究课题重点主要包括了下面几大模块&#xff1a;用户登录&#xff0c;管理员信息管理学生信息管理&#xff0c;教师信息管理&#xff0c;班级成绩管理&#xff0c;学…

YOLOv5改进系列(2)——添加CBAM注意力机制

【YOLOv5改进系列】前期回顾&#xff1a; YOLOv5改进系列&#xff08;0&#xff09;——重要性能指标与训练结果评价及分析 YOLOv5改进系列&#xff08;1&#xff09;——添加SE注意力机制 目录 &#x1f680;一、CBAM注意力机制原理 1.1 CBAM方法介绍 1.2 通道注意力机制…

Android车载应用开发和移动应用开发有什么区别?

背景 2022年对我来说是非常糟糕的一年&#xff0c;因为疫情原因导致公司收益不好&#xff0c;所有我被辞退了&#xff0c;离职之后呢有尝试过头简历面试&#xff0c;发现面试的机会很少&#xff0c;经过一段时间的沉淀后&#xff0c;我萌生了转行做车载的想法。为什么会产生这…

Python数据结构与算法

笔记——Python数据结构与算法 一、栈和队列 1.1 栈的定义 栈、队列、双端队列和列表都是有序的数据集合&#xff0c; 其元素的顺序取决于添加顺序或移除顺序。一旦某个元素被添加进来&#xff0c;它与前后元素的相对位置将保持不变。这样的数据集合经常被称为线性数据结构。…

【信息系统项目管理师】计算题-2023年5月8日、9日总结

8日没做太多内容&#xff0c;主要做了计算题。关于上午计算专题&#xff0c;运筹学相关内容。 涉及计算题内容的确不少&#xff0c;风险&#xff0c;决策&#xff0c;加权&#xff0c;采购&#xff0c;沟通渠道&#xff0c;盈亏平衡点。 运筹学涉及最短路径&#xff0c;图论&am…

前端:20 个常见的前端算法题

现在面试中&#xff0c;算法出现的频率越来越高了&#xff0c;大厂基本必考 今天给大家带来 20 个常见的前端算法题&#xff0c;重要的地方已添加注释&#xff0c;如有不正确的地方&#xff0c;欢迎多多指正 &#x1f495; 1、两数之和 题目&#xff1a; 给定一个数组 nums …

ISO 14229、ISO 15765、ISO 11898的区别

ISO 14229、ISO 15765、ISO 11898的区别 浅析ISO 14229、ISO 15765、ISO 11898协议的区别 ISO 14229、ISO 15765、ISO 11898的区别一、前言二、ISO 11898三、ISO 14229四、ISO 15765五、ISO 26262六、ISO 27145-4**总结&#xff1a;ISO 14229、ISO 15765 和 ISO 11898的区别&am…

logstash多conf问题--ELK文章4

现象 问题&#xff1a;配置多个conf后&#xff0c;所有的输入源都输入到所有的输出源中&#xff0c;并且filter中配置单个但是影响全局 Logstash的pipeline配置了多个个conf&#xff0c;也就是多个输入源。如果不做任何处理&#xff0c;那么所有的Filter&#xff0c;Output都会…