opencv学习文档
-https://www.w3cschool.cn/opencv/
-http://www.woshicver.com/
-https://www.cnblogs.com/Undo-self-blog/p/8423851.html
opencv编译iOS平台
-下载OpenCV和OpenCV_Contrib源代码
-编译相关的文章
-https://www.jianshu.com/p/0a9f86ac04b9
-https://www.jianshu.com/p/8e19c0f03493
-https://www.jianshu.com/p/71345b565297?
-我编译时的操作方法,直接运行下面的命令
-复制opencv_contrib-3.2.0\modules下需要的模块(文件夹)至opencv-3.2.0\modules中
-cd OpenCV所在的文件夹路径
-python opencv/platforms/ios/build_framework.py ios
--如果一切都好,几分钟后你会得到/OpenCV所在的文件夹路径/ios/opencv2.framework。
您可以将此框架添加到您的Xcode项目中。
cv命名空间
-所有OpenCV类和函数都放在cv命名空间中。因此,要从代码访问此功能,请使用cv :: specifier或使用命名空
间cv; 指示:
#include“opencv2 / core.hpp”
...
cv :: Mat H = cv :: findHomography(points1,points2,CV_RANSAC,5);
...
or
#include "opencv2/core.hpp"
using namespace cv;
...
Mat H = findHomography(points1, points2, CV_RANSAC, 5 );
...
OpenCV iOS
-引入opencv2.framework
-新建xcode工程,把opencv2.framework拖入项目
-在pch文件中全局引入
-#ifdef __cplusplus
#import <opencv2/opencv.hpp>
#endif
-在UIViewController文件中局部引入
-#import <opencv2/opencv.hpp>
-注意:XCode5+和iOS8+的更改
-您的项目中的*.m文件应重命名为*.mm。
-您必须手动将AssetsLibrary.framework包含到您的项目中,默认情况下不再执行。
-基本图片处理
-在OpenCV中,所有的图像处理操作通常在Mat结构上进行。然而,在iOS中,为了在屏幕上呈现图像,
它必须是UIImage类的一个实例。
OpenCV-iOS人脸比对的思考
-一篇图片对比的文章:https://www.jianshu.com/p/6a56883d88a2,该种方法对图片相似度要求较高,
当背景差异较大或者干扰因素较多时,无法匹配成功
-先检测人脸,提取人脸特征点,根据特征点计算出特征向量,再比对两张图片的特征向量,一般用欧氏距离就可以
了,如果两个人脸的向量空间的欧式距离超过了0.6,即认定不是同一个人;如果欧氏距离小于0.6,则认为是同一
个人,这个看实际情况调阈值。
-人脸相似度对比,原理是采用68个面部特征点,然后将人脸区域提取出来,再将两幅图进行归一化,计算距离。当然
也可以改进。