废话开篇:简略完结一下使用 openCV 下简略完结人脸隐秘的功用,openCV 是一个 C++ 的库,用之前需求根据官网文档克己一下 Framework,因为 cocopods 下的 openCV 库里没有包含人脸辨认 face 相关的库,所以,假如想简略完结人脸辨认功用领会一下的话就需求将 OpenCV_Contrib 里面的 face 库与 openCV 主库放到一起进行编译。

一、 完结作用图

iOS 使用 openCV 下简略完结人脸隐秘

二、克己 openCV 下的 Framework

假如不需求用人脸辨认的功用,那么就直接 cocopods 导入即可:

iOS 使用 openCV 下简略完结人脸隐秘

当然,这儿人脸掩盖的功用下并没有用到 OpenCV_Contrib 下的 face 人脸辨认库。

个人后边的功用完结里有人脸辨认,所以这儿就编译一个富含人脸辨认的 Framework。(但是后边完结的人脸辨认的作用表现一般)。

1、下载 openCV 源码库 、OpenCV_Contrib 源码库

地址: openCV 地址:OpenCV_Contrib

2、吞并 OpenCV_Contrib 下的人脸辨认 face 模块到 openCV 下进行编译成库

下载好的库

iOS 使用 openCV 下简略完结人脸隐秘

(1)、将 opencv_contrib-4.3.0 -> modules -> face 库复制到 opencv-4.3.0 -> modules 下。
(2)、找到 opencv-4.3.0 的 platforms 文件夹

iOS 使用 openCV 下简略完结人脸隐秘

里面包含的是各个渠道的编译指令,找到 ios

iOS 使用 openCV 下简略完结人脸隐秘

翻开 build_framework.py 文件

iOS 使用 openCV 下简略完结人脸隐秘

翻开该文件,修正一下里面的编译架构,这个里真机就保留了 arm64,现在再编译的出来的 Framework 出来的就是 arm64x86i386 架构下的吞并库,其实关于真机来说,模拟器下的是不需求的。(打包进程有点慢,因为会对每个架构都进行编译终究吞并)

iOS 使用 openCV 下简略完结人脸隐秘

(3)、下载安装 cmake 东西,进行编译

iOS 使用 openCV 下简略完结人脸隐秘

翻开它,查看它终端指令

iOS 使用 openCV 下简略完结人脸隐秘

iOS 使用 openCV 下简略完结人脸隐秘

opencv-4.3.0 文件夹下新建一个 buildX 文件夹,用来保存编译好的 Framework

翻开终端,cdbuildX 下,输入 :

PATH="/Applications/CMake.app/Contents/bin":"$PATH"

配备环境变量

进行编译库,输入:

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

耐性等个半小时,在之前新建的 buildX 文件夹下就会有编译好的 Framework

iOS 使用 openCV 下简略完结人脸隐秘

三、完结人脸隐秘功用

1、将编译好的 opencv2.framework 拖进工程

iOS 使用 openCV 下简略完结人脸隐秘

2、新建 WSLOpenVC 类,完结功用

WSLOpenVC.h

iOS 使用 openCV 下简略完结人脸隐秘

WSLOpenVC.mm

iOS 使用 openCV 下简略完结人脸隐秘

iOS 使用 openCV 下简略完结人脸隐秘

iOS 使用 openCV 下简略完结人脸隐秘

iOS 使用 openCV 下简略完结人脸隐秘

iOS 使用 openCV 下简略完结人脸隐秘

iOS 使用 openCV 下简略完结人脸隐秘

3、外部调用

iOS 使用 openCV 下简略完结人脸隐秘

四、总结与思考

上面的代码都是依照思路去完结的,肯定有不完善的当地或许有更简略的办法,代码拙劣,大神勿笑。