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

1,735 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天 ---点击查看活动详情

如题

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

环境

macOS Monterey 12.0.1

Xcode 13.3

cmake 3.22.1


opencv这个大家应该不陌生,在iOS端使用呢,只用点击首页的

截屏2022-04-21 上午10.12.33.png

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

截屏2022-04-21 上午10.13.30.png

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


But。。。。

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

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

step 1 下载必要文件

打开 opencv_contrib,这里就包含 很多开源的第三方库,比如微信扫一扫功能。点击下载

打开opencv 原始文件 下载。

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

截屏2022-04-21 上午10.13.30.png

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

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

截屏2022-04-21 上午10.29.26.png

step 2 导入所需第三方库

根据路径找到 微信扫一扫功能的模块

opencv_contrib-4.x -> modules -> wechat_qrcode

截屏2022-04-21 上午10.30.30.png

复制这个文件 粘贴到

opencv-4.5.4 -> modules -> wechat_qrcode

截屏2022-04-21 上午10.32.56.png

step 3 安装打包工具

安装Cmake: 打开终端,输入

 brew install cmake

step 4 开始打包

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

截屏2022-04-21 上午10.43.00.png

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小时后,就打包好了。。。。

我们进入文件看

截屏2022-04-21 上午10.51.22.png

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

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

中间可能会出现问题

['xcodebuild', '-version']'

截屏2022-04-21 上午10.54.53.png

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

在终端输入

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

参考

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