iOS学习笔记--图片灰度处理
来源:互联网 发布:java todo用法 编辑:程序博客网 时间:2024/05/20 06:26
本文实现将一张彩色图片转换为灰色图片。
方法一:通过自定义方法实现。
+(UIImage*)systemImageToGray:(UIImage*)image{ int width = image.size.width; int height = image.size.height; //第一步:开辟颜色空间 CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceGray(); //第二步:创建颜色空间的上下文 CGContextRef contextRef = CGBitmapContextCreate(nil, width, height, 8, 0,colorSpaceRef, kCGImageAlphaNone); if (contextRef == nil) { return nil; } //第三步:渲染图片 CGContextDrawImage(contextRef, CGRectMake(0, 0, width, height), image.CGImage); //第四步:创建图片 将绘制的颜色空间转成CGImage CGImageRef grayImageRef = CGBitmapContextCreateImage(contextRef); //第五步:将C/C++图片转成UIImage UIImage * newImage = [UIImage imageWithCGImage:grayImageRef]; //释放内存 CGColorSpaceRelease(colorSpaceRef); CGContextRelease(contextRef); CGImageRelease(grayImageRef); return newImage;}
方法二:通过openCV框架实现。
#import <opencv2/opencv.hpp>#import <opencv2/imgcodecs/ios.h>
+(UIImage*)imageToGray:(UIImage *)image{ //第一步:将ios平台下的图片-->openCV图片 Mat mat_image_color; UIImageToMat(image, mat_image_color); //第二步:将openCV的图片进行灰度处理 Mat mat_image_gray; //参数三:转换类型 cvtColor(mat_image_color, mat_image_gray, COLOR_RGB2GRAY); //第三步:将灰色图片转成可现实图片 cvtColor(mat_image_gray, mat_image_color, COLOR_GRAY2RGB); //第四步:将openCV的图片转成ios图片 UIImage * newImage = MatToUIImage(mat_image_color); return newImage;}
如有错误请见谅!
0 0
- iOS学习笔记--图片灰度处理
- ios学习笔记 图片边框处理
- WPF 图片灰度处理
- 图片灰度处理
- 【算法学习】纯高斯模糊算法处理灰度图片
- iPhone :图片的灰度处理
- 易语言-图片灰度处理
- java 图片处理灰度化
- 《》数字图像处理》学习笔记1--灰度变换基本概念
- iOS OpenCV 图像灰度处理
- iOS OpenCV 相机灰度处理
- iOS OpenCV 图像灰度处理
- 【图像处理笔记】灰度变换
- 【图像处理笔记】灰度变换
- android 图片灰度处理的处理
- iOS图片合成及修改图片灰度
- Andengine 学习笔记 - 图片处理
- 学习笔记-图片处理技术
- 架构分布式____Redis集群架构各种方案分析
- sql试题汇总——写sql语句
- computer-database 项目在linux环境下的搭建
- RedHat Linux 无法设置用户ID:资源暂时不可用错误解决
- Spring源码学习之:@Async 方法上添加该注解实现异步调用的原理
- iOS学习笔记--图片灰度处理
- Mininet Documents In Chinese
- 正则表达式
- StringBuffer
- word自动生成目录如何从正文第一页开始
- 关于Android中适配器的使用简介
- GC之CMS GC日志分析
- JS中数组的操作
- Git 基础学习