在iOS中安装

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

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

下一篇:

警告!

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

所需软件包

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

从 Git 存储库获取尖端的 OpenCV

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

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

bash 复制代码
cd ~/<my_working _directory>
git clone https://github.com/opencv/opencv.git

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

bash 复制代码
cd ~/<my_working _directory>
git clone https://github.com/opencv/opencv_contrib.git

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

  1. 确保已安装 xcode 命令行工具
bash 复制代码
xcode-select --install

构建 OpenCV 框架:

bash 复制代码
cd ~/<my_working_directory>
python opencv/platforms/ios/build_framework.py ios

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

bash 复制代码
cd ~/<my_working_directory>
python opencv/platforms/ios/build_framework.py ios --contrib opencv_contrib

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

bash 复制代码
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:

bash 复制代码
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

相关推荐
暮色_年华13 分钟前
随想 2:对比 linux内核侵入式链表和 STL 非侵入链表
linux·c++·链表
w-w0w-w1 小时前
C++模板参数与特化全解析
开发语言·c++
大锦终2 小时前
递归回溯综合练习
c++·算法·深度优先
晚风吹长发2 小时前
初步了解Linux中的动静态库及其制作和使用
linux·运维·服务器·数据结构·c++·后端·算法
风之歌曲3 小时前
c++高精度模板
c++·算法·矩阵
crescent_悦3 小时前
C++:Find Coins
c++
嵌入式进阶行者4 小时前
【算法】深度优先搜索实例:华为OD机考双机位A卷- 中庸行者
c++·算法·华为od·深度优先
云深麋鹿4 小时前
C++入门篇
c++
量子炒饭大师4 小时前
【C++入门】零域终端的虚空指针协议——【nullptr】还在为编译器给NULL匹配为int而头疼?nullptr给予你全新的字面量!
开发语言·c++·nullptr
阿豪只会阿巴5 小时前
【多喝热水系列】从零开始的ROS2之旅——Day10 话题的订阅与发布1:Python
开发语言·c++·python·ubuntu·ros2