首先下载opencv framework iOS版,然后导入到新建的项目,引入opencv.hpp头文件,遇到了 opencv2/opencv.hpp file not found 的错误。我的环境是xcode7
我的操作过程是这样:
1、在项目general中添加frameworks:
2、然后 import头文件就会提示找不到文件:
正确的导入方法是通过"add files to"的方式把framewords引入项目,其实就是拷贝进来,xcode会自动把它当类库对待:
add file 时要勾选"copy items if needed "!
然后就可以愉快的开始了写代码了,成功运行了网上的一个demo:
@interface ViewController ()
{
cv::Mat cvImage;
}
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIImage *image = [UIImage imageNamed:@"meizi"];
// Convert UIImage * to cv::Mat
UIImageToMat(image, cvImage);
if (!cvImage.empty()) {
cv::Mat gray;
// Convert the image to grayscale;
cv::cvtColor(cvImage, gray, CV_RGBA2GRAY);
// Apply Gaussian filter to remove small edges
cv::GaussianBlur(gray, gray, cv::Size(5,5), 1.2,1.2);
// Calculate edges with Canny
cv::Mat edges;
cv::Canny(gray, edges, 0, 60);
// Fill image with white color
cvImage.setTo(cv::Scalar::all(255));
// Change color on edges
cvImage.setTo(cv::Scalar(0,128,255,255),edges);
// Convert cv::Mat to UIImage* and show the resulting image
self.imageView.image = MatToUIImage(cvImage);
}
}
界面:
导入方式不同造成的头文件找不到!这个问题实在太恶心了, 花了好几个小时各种搜索啊!
最后工程目录是这样:
代码在这:opencv3Ios9.zip