opencv在ios上的简单实现[objective-c&c++]
2017-12-17 11:50
465 查看
网上找过很多资料,不是缺少库的引用就是缺少备注表述
所以自己实现一下并记录下来
// // ViewController.m // h // // Created by Friderick_Lee on 2017/12/16. // Copyright © 2017年 Friderick_Lee. All rights reserved. // #import <opencv2/imgproc/types_c.h> #import <opencv2/opencv.hpp> #import <OpenCV/opencv2/imgcodecs/ios.h> #import "ViewController.h" using namespace cv; @interface ViewController () { cv::Mat cvImage; } @property (weak, nonatomic) IBOutlet UIImageView *imgView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. CGRect rect = [UIScreen mainScreen].bounds; self.imgView.frame = rect; UIImage *image = [UIImage imageNamed:@"n.png"]; //将UIImge转换成mat类型方便c++处理 UIImageToMat(image, cvImage); if(!cvImage.empty()){ cv::Mat gray; // 将图像转换为灰度显示 cv::cvtColor(cvImage,gray,CV_RGB2GRAY); // 应用高斯滤波器去除小的边缘 cv::GaussianBlur(gray, gray, cv::Size(5,5), 1.2,1.2); // 计算与画布边缘 cv::Mat edges; cv::Canny(gray, edges, 0, 50); // 使用白色填充 cvImage.setTo(cv::Scalar::all(225)); // 修改边缘颜色 cvImage.setTo(cv::Scalar(0,128,255,255),edges); // 将Mat转换为Xcode的UIImageView显示 self.imgView.image = MatToUIImage(cvImage); } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
原图效果
效果图
相关文章推荐
- 利用数组操作实现灰度图像的上下左右翻转(C++&opencv)
- 黑马程序员---ios开发---objective-c学习-01-简单类实现常见错误及分析
- Objective-C ,ios,iphone开发基础:使用第三方库FMDB连接sqlite3 数据库,实现简单的登录
- IOS 用openCv实现简单的扣人像的
- iOS AutoLayout阅读笔记2------>子视图固定比例分割父视图的简单实现
- 利用数组操作实现灰度图像放大两倍(C++&opencv)
- Objective-C ,ios,iphone开发基础:快速实现一个简单的图片查看器
- Nginx&C++实现简单的fastcgi程序
- Objective-C ,ios,iphone开发基础:使用第三方库FMDB连接sqlite3 数据库,实现简单的登录
- 算法导论-排序的Python&C++简单实现
- Unreal Engine 4 AI (二)用C++和Behavior Tree & Blackboard 实现简单追踪AI
- Objective-C ,ios,iphone开发基础:快速实现一个简单的图片查看器
- iOS&nbsp;实现简单的界面切换
- Objective-C ,ios,iphone开发基础:使用第三方库FMDB连接sqlite3 数据库,实现简单的登录
- 基于VS C++平台的OpenCV设置,实现简单的行人检测
- C++&OpenCV实现抠除(也可用于更换)证件照背景
- Objective-C ,ios,iphone开发基础:快速实现一个简单的图片查看器
- Objective-C ,ios,iphone开发基础:使用第三方库FMDB连接sqlite3 数据库,实现简单的登录
- 用C实现C++的多态---剖析GTK的"对象" (三)
- 用批处理文件删除n天前的文件&&用批处理实现的保留最近的n个文件 最简单方法