<图形图像,动画,多媒体> 读书笔记 --- 图像处理
来源:互联网 发布:佛教的本质是骗局 知乎 编辑:程序博客网 时间:2024/05/16 15:59
为了便于操作图像iOS中定义图像类,UIImage是UIKit框架中定义的图像类,其封装了高层次图像类,可以通过多种方式创建这些对象.在Core Graphics框架(或Quartz 2D)中也定义了CGImage,他表示位图图像,因为CGImage被封装起来了,所以通常通过CGImageRef来使用CGImage.
除了UIImage和CGImage外,在Core Image框架中也有一个图像类 CIImage,CIImage封装了图像类能够很好地进行图像效果处理.例如,滤镜的使用.UIImage,CGImage和CIImage之间可以互相转化,涉及从C到OC对象转化,如果这里使用ARC技术,要注意内存释放问题.
Core Image 框架
Core Image是图像处理中非常重要的框架,Core Image用来实时的处理和分析图像,他能处理来自于Core Graphics,Core Video,and Image I/O 等框架的数据类型.并使用CPU或GPU进行渲染,Core Image能够屏蔽很多低层次的技术细节,如OpenGL ES 和 GCD等技术
Core Image 框架中有以下几个非常重要的类
CIImage , Core Image框架中的图像类
CIContext,上下文对象,所有图像处理都在一个CIContext中完成,通过Quartz 2D和OpenGL渲染CIImage对象
CIFilter,滤镜类包含一个字典结构,对各种滤镜定义了属于各自的属性
CIDetector,面部识别类,借助于CIFaceFeature可以识别嘴和眼睛的位置
在Core Image框架中最常用的是CIImage类,有一些构造方法和静态创建方法
+ (CIImage *)imageWithCGImage:(CGImageRef)image;//静态创建方法,通过CGImageRef创建图像对象+ (CIImage *)imageWithContentsOfURL:(NSURL *)url;//静态创建方法,通过文件路径创建图像对象+ (CIImage *)imageWithData:(NSData *)data;//静态创建方法,通过内存中NSData对象创建图像对象- (id)initWithCGImage:(CGImageRef)image;//构造方法,通过内存中CGImageRef对象创建图像对象- (id)initWithData:(NSData *)data;//构造方法,通过内存中NSData对象创建图像对象- (id)initWithContentsOfURL:(NSURL *)url;//构造方法,通过文件路径对象创建图像对象
CIContext *context = [CIContext contextWithOptions:nil];//创建上下文CIImage *cImage = [CIImage imageWithCGImage:[_image CGImage]];CIImage *result; CIFilter *sepiaTone = [CIFilter filterWithName: @"CISepiaTone"];//创建滤镜 [sepiaTone setValue: cImage forKey: @"inputImage"]; double value = [_slider value]; NSString *text =[[NSString alloc] initWithFormat:@"旧色调 Intensity : %.2f",value]; _label.text = text; [text release]; [sepiaTone setValue: [NSNumber numberWithFloat: value] forKey: @"inputIntensity"];//设置值 result = [sepiaTone valueForKey:@"outputImage"];//输出 CGImageRef imageRef = [context createCGImage:result fromRect:CGRectMake(0, 0, self.imageView.image.size.width, self.imageView.image.size.height)]; UIImage *image = [[UIImage alloc] initWithCGImage:imageRef]; _imageView.image = image; CFRelease(imageRef);//记得释放 [image release];
- <图形图像,动画,多媒体> 读书笔记 --- 图像处理
- <图形图像,动画,多媒体> 读书笔记 --- 图像处理之人脸识别
- <图形图像,动画,多媒体> 读书笔记 --- 音效
- <图形图像,动画,多媒体> 读书笔记 --- 视频
- <图形图像,动画,多媒体> 读书笔记 --- AirPlay
- <图形图像,动画,多媒体> 读书笔记 --- 力学行为特性
- <图形图像,动画,多媒体> 读书笔记 --- UIKit,Quartz 2D
- <图形图像,动画,多媒体> 读书笔记 --- 录制与编辑视频
- <图形图像,动画,多媒体> 读书笔记 --- 录制与编辑视频
- <图形图像,动画,多媒体> 读书笔记 --- Quartz 2D 图形的基本变换
- 【图像处理】图形图像中术语
- 图形图像处理 —— 图像缩放算法
- 图像处理基础-----图形图像两兄弟
- 『图形图像』图像基本知识与处理
- 多媒体图形图像技术
- 【Android】图形图像处理之“逐帧动画”(单张JPG处理)
- 图像处理——第二篇 Java图形图像处理
- 多媒体处理—VC图像处理
- 爱因斯坦阶梯问题
- 最大全1子矩阵
- rake版本控制
- PV操作和信号量
- C#中Abstract和Virtual
- <图形图像,动画,多媒体> 读书笔记 --- 图像处理
- 美团网2015校招研发笔试题(2014-9-11,哈尔滨哈工大站)
- 四:取四个字的行 20140908 ①文本处理
- magento "Resource is not set."
- 删除已经配置的类库和移除CocoaPods
- 黑马程序员_JAVA学习之GUI
- 五:取五个字的行 20140909 ①文本处理
- 第7章 TCP网络编程基础
- Java常用正则表达式验证工具类RegexUtils.java