好不容易找到了两篇写得特别好的博客:
遇到的问题
1,
问题一:enum { NO, GAIN, GAIN_BLOCKS }; Expected identifier
只要把NO修改成 NO_EXPOSURE_COMPENSATOR 或 NO_EXPOSURE_COMPENSATOR = 0
问题二:core.hpp header must be compiled as C++ 或 base.hpp header must be compiled as C++
解决:把调用了
OpenCV文件的.m文件修改为.mm,以及viewController.m修改为viewController.mm
2,报错:找不到 #import <opencv2/highgui/cap_ios.h>
改为 #import <opencv2/videoio/cap_ios.h>
3,在iphone上运行时报错:
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.
在info.plist以源码打开后加入:
<key>NSCameraUsageDescription</key>
<string>此 App 需要您的同意才能读取相机</string>
有时候这个文件并不叫这个名,可能是工程名+info.plist,比如OpenCV Tutorial-Info.plist
总之是有的
4,编译panorama.framework时报错找不到ovx.hpp,直接注释掉那一行
5,调用opencv人脸识别,提示找不到haarcascade_frontalface_default.xml文件,把这个文件从网上下载下来拖进工程即可
pchFile:
#ifdef __cplusplus
#import
<opencv2/opencv.hpp>
#endif
#import
<Availability.h>
#ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later."
#endif
#ifdef __OBJC__
#import
<UIKit/UIKit.h>
#import
<Foundation/Foundation.h>
#endif
// 导入OpenCV核心文件
#import <opencv2/opencv.hpp>
//导入支持iOS平台头文件
#import <opencv2/imgcodecs/ios.h>
// 导入CC++的命名空间
using namespace cv;
/usr/local/include
/usr/local/include/opencv
/usr/local/lib
应用:
kcf目标跟踪