一同养成写作习惯!这是我参与「日新计划 4 月更文应战」的第6天 —点击查看活动概况。

如题

在网上搜了许多材料,许多都不全,所以记载下来

环境

macOS Monterey 12.0.1

Xcode 13.3

cmake 3.22.1


opencv这个大家应该不生疏,在iOS端运用呢,只用点击主页的

如何将 opencv_contrib 中的第三方库 打包到 opencv 中,并生成iOS用的framework

release 选择对应版本的iOS pack 下载就行

如何将 opencv_contrib 中的第三方库 打包到 opencv 中,并生成iOS用的framework

下载完成后 将framework导入到项目。


But。。。。

这儿的 openvc 是官方release版本,有些比较好的opencv第三方库可没有包含其间,所以 我们就需要下载这些第三方库,并自己打包framework。

下面我就以将微信扫一扫功用集成到 opencv 为例,将这个功用,放入原有的opencv中,并打包成framework。

step 1 下载必要文件

翻开 opencv_contrib,这儿就包含 许多开源的第三方库,比方微信扫一扫功用。点击下载

翻开opencv 原始文件 下载。

ps 这个原始文件和 官网下载的 画⭕️的是不同的

如何将 opencv_contrib 中的第三方库 打包到 opencv 中,并生成iOS用的framework

画⭕️的是官方已经弄好发framework,直接拖进入项目用就行,而我们要做的是自己生成framework。

将 下载好的 opencv_contribopencv 放入同一个文件夹

如何将 opencv_contrib 中的第三方库 打包到 opencv 中,并生成iOS用的framework

step 2 导入所需第三方库

依据途径找到 微信扫一扫功用的模块

opencv_contrib-4.x -> modules -> wechat_qrcode

如何将 opencv_contrib 中的第三方库 打包到 opencv 中,并生成iOS用的framework

仿制这个文件 粘贴到

opencv-4.5.4 -> modules -> wechat_qrcode

如何将 opencv_contrib 中的第三方库 打包到 opencv 中,并生成iOS用的framework

step 3 设备打包东西

设备Cmake: 翻开终端,输入

 brew install cmake

step 4 开端打包

完成后 在opencv-4.5.4文件夹下新建一个buildX文件夹,用来保存编译好的Framework

如何将 opencv_contrib 中的第三方库 打包到 opencv 中,并生成iOS用的framework

cd 进入 buildX

输入

 python /Users/xxx/Desktop/openTest/opencv-4.5.4/platforms/ios/build_framework.py ios

这儿的 xxx 就是你的电脑用户名,也可以按照途径,直接找到 build_framework.py 这个文件,直接运行。

step 5 生成framework

大约1小时后,就打包好了。。。。

我们进入文件看

如何将 opencv_contrib 中的第三方库 打包到 opencv 中,并生成iOS用的framework

可以看到 已经有wechat_xx 这些头文件了,说明已经打包成功。

这样 我们就可以将 opencv.framework 引进到项目中了

中心可能会呈现问题

['xcodebuild', '-version']'

如何将 opencv_contrib 中的第三方库 打包到 opencv 中,并生成iOS用的framework

呈现这个问题的时分。应该是说明没有选择好xcode 编译器

在终端输入

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

参看

自此,打包到将 opencv 第三方库打包到 opencv 中 就基本完成了。