OpenCV4.9在iOS中安装

返回:OpenCV系列文章目录(持续更新中......)

上一篇:使用CUDA 为Tegra构建OpenCV-CSDN博客

下一篇:

警告!

本教程可以包含过时的信息。

所需软件包

  • CMake 2.8.8 或更高版本
  • Xcode 4.2 或更高版本

从 Git 存储库获取尖端的 OpenCV

启动 Git 客户端并从 GitHub 克隆 OpenCV 存储库。

在 MacOS 中,可以在终端中使用以下命令来完成:

cd ~/<my_working _directory>
git clone https://github.com/opencv/opencv.git

如果您想安装 OpenCV 的额外模块,请同时克隆 opencv_contrib 存储库:

cd ~/<my_working _directory>
git clone https://github.com/opencv/opencv_contrib.git

使用 CMake 和命令行从源代码构建 OpenCV

  1. 确保已安装 xcode 命令行工具
xcode-select --install

构建 OpenCV 框架:

cd ~/<my_working_directory>
python opencv/platforms/ios/build_framework.py ios

要安装 OpenCV 的额外模块,请附加到--contrib opencv_contrib上面的 python 命令。注意:额外的模块不包含在 OpenCV Releases 的 iOS Pack 下载中。如果你想使用额外的模块(例如aruco),你必须自己构建OpenCV并包含这个选项:

cd ~/<my_working_directory>
python opencv/platforms/ios/build_framework.py ios --contrib opencv_contrib

要排除特定模块,请将附加 .例如--without <module_name>,要从opencv_contrib中排除“optflow”模块:

cd ~/<my_working_directory>
python opencv/platforms/ios/build_framework.py ios --contrib opencv_contrib --without optflow

生成过程可能需要大量时间。目前(OpenCV 3.4 和 4.1)构建了五个独立的架构:用于 iOS 的 armv7、armv7s 和 arm64,以及用于 iPhone 模拟器的 i386 和 x86_64。如果要指定要包含在框架中的体系结构,请使用iphoneos_archs and/or --iphonesimulator_archs选项。例如,仅为 iOS 生成 arm64 并为模拟器生成 x86_64:

cd ~/<my_working_directory>
python opencv/platforms/ios/build_framework.py ios --contrib opencv_contrib --iphoneos_archs arm64 --iphonesimulator_archs x86_64

如果一切正常,构建过程将创建~/<my_working_directory>/ios/opencv2.framework .您可以将此框架添加到您的 Xcode 项目中。

延伸阅读

你可以在这里找到几个OpenCV+iOS教程:OpenCV iOS。

后记:至此所有的安装教程已发表完成,接下去将开启完成使用篇章 敬请期待!

参考文献:

1、《Installation in iOS》---Artem Myagkov, Eduard Feicho, Steve Nicholson

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

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

相关文章

Hive的安装

1.上传安装包 解压 tar zxvf apache-hive-3.1.2-bin.tar.gz# 解决Hive与Hadoop之间guava版本差异 cd /export/server/apache-hive-3.1.2-bin/ rm -rf lib/guava-19.0.jar cp /export/server/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/2.修改配置文件 h…

flask_Restful数据解析参数设置

add_argument 方法参数详解 add_argument方法可以指定这个字段的名字&#xff0c;这个字段的数据类 型等&#xff0c;验证错误提示信息等&#xff0c;具体如下&#xff1a; default&#xff1a;默认值&#xff0c;如果这个参数没有值&#xff0c;那么将使用这个参数 指定的默认…

短信系统开发注意事项|网页版短信后台

在开发短信系统时&#xff0c;有一些重要的注意事项需要考虑&#xff0c;以确保系统的稳定性、安全性和功能完整性。以下是一些开发短信系统时需要注意的事项&#xff1a; 合规性和法律要求&#xff1a;确保短信系统的开发符合当地法律法规和通信行业规定&#xff0c;包括用户隐…

【LVGL-文件系统移植】

LVGL-文件系统移植 ■ LVGL-文件系统移植■ 示例一&#xff1a;■ 示例二&#xff1a;视频实例■ 综合示例&#xff1a; ■ LVGL-文件系统移植 ■ 示例一&#xff1a; 在这里插入代码片■ 示例二&#xff1a;视频实例 在这里插入代码片■ 综合示例&#xff1a; /***********…

Rust基本类型

数值类型 整数类型 无符号整数只能取正数和0&#xff0c;有符号整数可以取正数负数和0。isize和usize类型取决于程序运行的计算机CPU类型&#xff0c;若CPU是32位的&#xff0c;则这两个类型是32位的&#xff0c;若CPU是64位的&#xff0c;则它们是64位的。rust整型 默认使用…

为响应国家号召,搜维尔科技开启虚拟仿真实验室设备升级改造服务

近日&#xff0c;国务院发布了关于《推动大规模设备更新和消费品以旧换新行动方案》&#xff0c;该通知的发布表现出国家对于科技创新事业的高度重视。各行各业都在积极响应国家号召&#xff0c;加快数字化转型和设备升级与更新步伐。搜维尔科技为响应国家号召&#xff0c;将开…

Redission 分布式锁原理分析

一、前言 我们先来说说分布式锁&#xff0c;为啥要有分布式锁呢? 像 JDK 提供的 synchronized、Lock 等实现锁不香吗&#xff1f;这是因为在单进程情况下&#xff0c;多个线程访问同一资源&#xff0c;可以使用 synchronized 和 Lock 实现&#xff1b;在多进程情况下&#xff…

React系列之React版本时间线和主要更新

参考&#xff1a; https://github.com/facebook/react/releases 一些博客文章 React 起源于 Facebook 的内部项目&#xff0c;在 2013 年开源正式推出。 2016.4 React15: 之前都是 v0.xx&#xff0c;到这时候直接变成 v15&#xff0c;可见对这个库的重视和发展意图。 初始渲染…

大数加法C++实现

题目&#xff1a;假设输入是2个数字&#xff0c;可能超过long long类型能表示的范围&#xff0c;请输出两数相加的运算结果。 思路&#xff1a;2个数输入的时候&#xff0c;肯定都是用string存的&#xff0c;先将短的数在末尾补0&#xff0c;使得二者一样长。然后挨个位相加&am…

单链表交叉分离,运用头插法,尾插法(算法库应用)

原文博客链接:单链表分离(头插法和尾插法的结合,理解指针变换)_3.对任务1或者2中创建的某一个单链表{a1,b1,a2,b2,...,an,bn},编写一个算法将-CSDN博客 函数实现: /************************************************** 函数名:separate_LinkList 功 能: 把一个链表,交叉新建…

电机控制杂谈——永磁同步电机中的永磁体谐波反电势

1.问题的引出 在我的谐波抑制专题中&#xff0c;讲了三种谐波抑制的策略。当时是通过增大逆变器死区来产生较大的谐波。但是在实际电机里面&#xff0c;我感觉死区的影响基本上没有。。。课题组的驱动器中&#xff0c;逆变器的非线性其实基本可以忽略不计了。 但是&#xff0…

怎么配置Dubbo的容错机制?

Dubbo的容错机制用于处理在分布式环境中可能出现的故障和异常情况&#xff0c;以保障系统的稳定性和可靠性。Dubbo提供了多种容错机制&#xff0c;可以根据实际情况进行配置。以下是几种常见的容错机制及其适用场景&#xff1a; Failover&#xff08;重试&#xff09;&#xff…

langchin-chatchat部分开发笔记(持续更新)

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 大模型应用向开发路径及一点个人思考大模型应用开发实用开源项目汇总大模型问答项目…

Spring MVC Thymeleaf在一个表单中的多个提交按钮

今天遇见一个form需要两个button提交显示不同Controller的需求 一开始解决思路&#xff1a; 我有一个HTML页面的一个窗体和2个按钮的片段&#xff1a; <form action"#" data-th-action"{/action/edit}" data-th-object"${model}" method&qu…

JS获取本机IP地址的2种方法

目录 1.获取本机IP地址方法1&#xff1a;2.获取本机IP地址方法2解决方案&#xff1a; 1.获取本机IP地址方法1&#xff1a; if(typeof window ! undefined){var RTCPeerConnection window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnectio…

SpringBoot中处理校验逻辑的两种方式:Hibernate Validator+全局异常处理

最近正在开发一个校园管理系统&#xff0c;需要对请求参数进行校验&#xff0c;比如说非空啊、长度限制啊等等&#xff0c;可选的解决方案有两种&#xff1a; 一种是用 Hibernate Validator 来处理一种是用全局异常来处理 两种方式&#xff0c;我们一一来实践体验一下。 一、…

AXI4-Stream Interconnect IP核(1)——原理

一、概述 AXI4-Stream Interconnect 是复杂片上系统&#xff08;SoC&#xff09;和现场可编程门阵列&#xff08;FPGA&#xff09;应用设计中的关键组件&#xff0c;它负责在系统内部不同模块之间路由数据流。AXI4-Stream协议是ARM引入的AMBA&#xff08;高级微控制器总线架构&…

httpClient使用介绍

HttpClient 是Apache Jakarta Common 下的子项目&#xff0c;可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包&#xff0c;并且它支持 HTTP 协议最新的版本和建议。 就是用来发送http请求或者解析http响应的。 导入依赖&#xff1a; <dependency…

插入排序和希尔排序:

插入排序 1. 算法思想&#xff1a; 由数组下标为1 开始的数值作为判断依据&#xff0c;与之前的数据从后往前比较定义tmp 暂存判断的数值&#xff0c;若前面的数据大于tmp&#xff0c;则将前面的数据向后移动 : arr[j1]arr[j]若对比的数据比tmp 大&#xff0c;则往后移&#…

Mysql中的执行计划怎么分析?

一、背景 在我们日常工作中&#xff0c;我们可能会遇到一些慢SQL语句或者要对一些SQL进行性能优化&#xff0c;那么就需要使用explain对SQL进行执行计划分析了。Mysql中的执行计划可以通过EXPLAIN或DESCRIBE关键字获取&#xff0c;当我们拿到执行计划后可以帮助我们分析这条sq…