图片处理-UIImage

摄影将光转化为比特信息。

概论

为了从相机得到一个图像,我们需要创建一个 AVCaptureStillImageOutput 对象。然后,我们可以使用 captureStillImageAsynchronouslyFromConnection: completionHandler: 方法。它的 handler 是以一个 CMSampleBufferRef 类型为参数的 block。我们可以利用 AVCaptureStillImageOutput 中的类方法 jpegStillImageNSDataRepresentation: 将其转换为一个 NSData 对象, 接着,我们使用 imageWithData:来得到一个 UIImage。

我们可以有许多参数可以调整,例如曝光控制或聚焦设定,光补偿,闪光灯,甚至 ISO 设置 (仅 iOS 8)。设置会被应用到一个 AVCaptureDevice,这个对象代表着一个存在于设备上的相机。

当 app 首次运行时,第一次调用 AVCaptureDeviceInput.deviceInputWithDevice() 会触发系统提示,向用户请求访问相机。这在 iOS 7 的时候只有部分国家会有,到了 iOS 8 拓展到了所有地区。除非得到用户同意,否则相机的输入会一直是一个黑色画面的数据流。日本用户的设备相机是不允许静音处理(据说国家防偷拍设置的政策)


显示

  1. AVCaptureVideoPreviewLayer 会自动地显示来自相机的输出。当我们需要将实时预览图上的点击转换到设备的坐标系统中
  2. 从输出数据流捕捉单一的图像帧,并使用 OpenGL 手动地把它们显示在 view 上。可以对实时预览图进行操作或使用滤镜
    CAEAGLLayer是Core Animation提供的标准层类之一。CAEAGLLayer会与一个OpenGL ES的帧缓存共享它的像素颜色仓库

Color and Color Spaces

UI 设计师会标注给开发颜色值信息,我们应用方式:
Xib or StoryBoard,确认勾选 DeviceRGB,出现色差核对系统测色计 DigitalColor Meter (sRGB (which stands for standard RGB));

CGColorSpaceCreateDeviceRGB();
CGColorSpaceCreateWithName;(generic color space)

结构框架

UIImagePickerController
AssetsLibrary
PhotoKit IOS 8.0

Core Image 图像处理(CIContext,CIImage,CIFilter)

Core Image 是用来最大化利用其所运行之上的硬件的。每个滤镜实际上的实现,即内核,是由一个 GLSL (即 OpenGL 的着色语言) 的子集来书写的。当多个滤镜连接成一个滤镜图表,Core Image 便把内核串在一起来构建一个可在 GPU 上运行的高效程序。

VImage 存在于 Accelerate.frameWork ,数字信号处理,图像相关的向量矩阵(性能问题)

CGImage CIImage

CGImage是用搜索来重绘图形的类,应用时是按照图像的像素矩阵来绘制图片的,可以用来处理bitmap。

一个CIImage是一个不变的对象,代表一个图像但它不是一个图像。它只有与它相关的图像数据。它拥有产生图像所必需的所有信息。

A CGImage can only represent bitmaps

高级处理

  • 混合方式 drawInRect:blendMode:alpha:
  • 加载方式 imageNamed: imageWithContentOfFile
  • 混合模式 kCGBlendModeNormal
  • 滤镜处理 (ImageUtil) 色彩反转滤镜,剪裁滤镜
  • 图片的饱和度,亮度,对比度

一个正在完善的UIImage扩展

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容