OpenCV For iOS 1: 连接OpenCV 3.0
来源:互联网 发布:jacobian矩阵的用途 编辑:程序博客网 时间:2024/04/27 20:49
本文的内容参考Instant OpenCV for iOS结合最新的开发平台完成。
本系列文章采用的的开发环境为:
1)Xcode 6
2)OpenCV for iOS 3.0.0 alpha
接下来Step by Step 说明如何在最新的平台下使用OpenCV,以将一个彩色图片转换为边缘图为例
Step 1:创建一个新的项目
Step 2:在Building phase里面添加opencv2.framework
Step 3:由于openCV采用C++,因此,要在项目中运行c++代码,需要将文件名后缀由.m改成.mm,如上图所示
Step 4:在ViewController.mm中import OpenCV的文件
#import <opencv2/opencv.hpp>
#import <opencv2/imgproc/types_c.h>
#import <opencv2/imgcodecs/ios.h>
由于opencv.hpp并没有包含所以opencv2的文件,所以有一些需要分别import。Step 5:输入如下代码:
- @interface ViewController ()
- {
- cv::Mat cvImage;
- }
- @property (weak, nonatomic) IBOutlet UIImageView *imageView;
- @end
- @implementation ViewController
- - (void)viewDidLoad {
- [super viewDidLoad];
- CGRect rect = [UIScreen mainScreen].bounds;
- self.imageView.frame = rect;
- UIImage *image = [UIImage imageNamed:@"road.JPG"];
- // 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);
- }
- }
中间的过程先不考虑,关键点在使用了两个函数实现iOS下的UIImage和openCV下的cv::Mat格式的转换,从而实现了iOS与OpenCV的有效连接。
测试效果如下:
从上面可以看出,我们可以非常非常简单地在iOS下使用OpenCV。接下来就是理解并使用OpenCV的各个功能算法。
0 0
- OpenCV For iOS 1: 连接OpenCV 3.0
- OpenCV For iOS 1: 连接OpenCV 3.0
- Opencv For IOS
- Xcode 配置 OpenCV for iOS
- opencv for ios使用问题
- opencv 3.0 for fc
- OpenCV for Ios 学习笔记(1)-配置
- OpenCV for Ios 学习笔记(4)-标记检测1
- OpenCV for Ios 学习笔记(1)-配置
- OpenCV for Ios 标记检测2
- Opencv For IOS相机环境搭建
- OpenCV for Ios 学习笔记(8)-用OPENGL渲染AR场景1
- OpenCV for Ios 学习笔记(2)-AR
- OpenCV for Ios 学习笔记(3)-camera
- OpenCV for Ios 学习笔记(5)-标记检测2
- OpenCV for Ios 学习笔记(6)-标记检测3
- OpenCV for Ios 学习笔记(10)-标记检测总结
- Mac OS 下编译OpenCV for iOS ,android ,mac os
- uvalive4625(dp + 二分)
- 提示框的几种用法
- 重新学javaweb----EL表达式(1)
- python Unable to find vcvarsall.bat 错误
- Windows遍历目录文件
- OpenCV For iOS 1: 连接OpenCV 3.0
- poj 1038 Bugs Integrated, Inc. 状态压缩dp
- ListView使用技巧(四):聊天ListView
- 【常见错误】布局文件添加edittext报:The following classes could not be found错误
- CentOS 6.5使用yum快速搭建LAMP环境
- iOS每日一记之——————————iOS 开发工具集合
- ios–OpenCV–IplImage与UIImage类型相互转换
- 2016SDAU课程练习三1004
- Java StringBuilder 与 StringBuffer