Core Image是一项Mac OS X中的新技术,利用机器的绘图处理器来作影像相关特效。于2004年8月世界开发者大会(WWDC)中展示,它提供大部分共同图形滤镜的捷径。它提供即时直接作很多共同形式的影像处理能力(在这之前必须由开发者自己的程式码来实做完成)。

Core Image较简单的GUI增强有更深远的含意,像是由Dashboard所产生的水波纹效果。Core Image可以用来作即时的影像操作,类似于Photoshop的滤镜。这些运算称为影像单位(Image Units)。然而,不像传统的滤镜是在来源影像上操作,Core Image利用重叠来实现这样的操作 -- 能维持原来的影像。这称为"非破坏性"操作。这样的结果可以用来作高复杂度和多层的影像操作,而只有少数或没有品质上的损失。

转场特效类似滤镜,结合两个或多个影像来形成结果的影像,且接受一个时间数值(0 < t < 1)为参数。借由使用计时器来驱动一个动画,产生由一个影像到另一个的转场效果是很容易地实现。

在Core Image内部,影像是以浮点数的数值在指定的色彩空间来表示像素的成分。使用浮点数可以得到较高的精确度。多个效果可以借由结合数个影像单位(Image Unit)成为一个顺序的次序(称为特效堆叠,effects stack)来达成。然而,Core Image在处理堆叠时候并不产生每个中介的影像;反之,它一次就计算效果的数学之运算,然后把这个结果应用到影像上。结论是这样的方法,不会使得当更多的特效加入时,而使得效能降低 - 因每个像素都只会被处理一次,而不管特效堆叠变得多复杂。

Core Image是设计来借用高阶显卡上绘图处理器的某些形式之能力。这会得到大量效能上的利益,由于巨大的影像资料不需要在主内存总线中搬移,这是即时影像处理带宽限制的一个地方。然而,如果没有适合的图形处理器,Core Image就会退回到下一个最好的选择 - 利用G5G4处理器上的AltiVec处理能力,或者就只好执行G3上的'一般'程式码。Core Image会自动地在目前机器架构下的选择最快方法。然而,逼真地即时影像处理需要一个可相容的绘图处理器。

影像单位 编辑

  • 中位数的,高斯,移动和缩放模糊
  • 噪声降低
  • 全彩,色调,色温,白平衡和饱和度控制
  • Pinch, Hole, Dump, Displacement, Glass, torus Lens, Twirl, Vortex, Circle Splash and Circular warp distortions
  • Several generator filters including Star Shine, Sunbeams, Checkerboard and Lenticular Halo
  • Color blends: color burn, darken, difference, exclusion, hard light, hue, lighten, luminosity, multiply, overlay, saturation, screen, soft light
  • On-the-fly cropping and scaling
  • On-the-fly perspective transform
  • Several halftone filters including CMYK,dot, hatched and line
  • Deconvolution
  • Transition effects such as Swipe, Flash, Page Curl, Copy Machine, Disintegrate with Mask, Dissolve

Core Video 编辑

靠Core Image一起执行且以它为根基的是Core Video。就像Core Image,它允许即时的视讯剪辑,如同WWDC Webcast所展示的。

两种技术都极大地依靠系统上的绘图卡,且可能提供多种等级的解决方案,像是Quartz和它的更强版本Quartz Extreme。

参考文献 编辑

外部链接 编辑