假设在你的 iOS 应用程序中,你想对图像执行抓取或使用特定插值调整图像大小,作为机器学习模型的预处理步骤。你无法在 Xcode 上使用 Apple 的原生框架(例如 Core Image)轻易地做到这一点。如果你想坚持使用 Apple 的工具,你可能不得不使用Metal,并且仍然需要从头开始编写代码。
或者,你可以将 OpenCV 与你的 Xcode swift 项目集成,并使用 100 多种现成的优化图像处理算法来完成你的工作。尽管集成部分并不完全直接,但它执行起来非常快,因为它使用 C++。(这只会使你的应用程序在 iOS 设备上的大小增加大约 2MB。)
1. 获取OpenCV iOS框架
首先,从其发布(https://opencv.org/releases/)页面下载最新的 OpenCV 版本 3 或 4 iOS 包。解压缩 zip 文件并获取opencv2.framework文件。
(本指南将基于 Xcode 12.3 和 OpenCV3。OpenCV4 的 API 会略有不同。)
2. 将 OpenCV 框架添加到你的项目中
将 opencv2.framework 文件拖放到 Xcode 项目左侧的项目导航器窗格中。然后,Xcode 将提示一个窗口,其中包含用于添加框架的选项。
![94cdc2f698171f2900a18371ad8c1d7a.jpeg](https://i-blog.csdnimg.cn/blog_migrate/d624249cbbd3ed3291cb04ea32ec3620.jpeg)
对于Destination勾选Copy items if needed
对于Added folders选择Create groups选项
对于Add to targets勾选你的目标应用程序。
在左侧导航器窗格中单击你的项目,然后转到Build Phases -> Link Binary With Libraries。你应该能够在那里看到opencv2.framework。(注意,将框架复制到项目中可能需要几秒钟)
![f573f93a44f7dd236579508bd37f84de.jpeg](https://i-blog.csdnimg.cn/blog_migrate/ca543b58d1b9e52924a706e0c54f4b33.jpeg)
3.(可选)添加与 OpenCV 配合使用的其他框架
根据你的项目使用的内容,你可能还必须链接以下一些框架,以便 OpenCV 正常工作。
AssetsLibrary.framework
CoreGraphics.framework
CoreMedia.framework
CoreFoundation.framework
Accelerate.framework
在Build Phases -> Link Binary With Libraries下,点击+号,搜索上面的frameworks并添加。
4. 设置框架搜索路径
在左侧导航器窗格中单击你的项目,然后转到Build Settings -> Framework Search Paths。确保在那里说明了opencv2.framework的正确目录路径。对于项目的根目录,你可以使用**$(PRO