Skip to content
This repository has been archived by the owner on Jun 29, 2021. It is now read-only.

YuAo/Vivid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vivid

CocoaPods Platform CocoaPods Version CocoaPods License

A set of custom filters and utilities for Apple's Core Image framework.

Available on both OS X and iOS.

Involving...

##Core Image Filters

###Filters

####YUCIRGBToneCurve

Adjusts tone response of the R, G, and B channels of an image.

The filter takes in an array of control points that define the spline curve for each color component, or for all three in the composite.

These are stored as CIVectors in an NSArray, with normalized X and Y coordinates from 0 to 1.

The defaults are [(0,0), (0.5,0.5), (1,1)]

Preview

####YUCIColorLookup

Uses a color lookup table (LUT) to remap the colors in an image. The default LUT can be found at Sources/YUCIColorLookupTableDefault.png

This filter may not work well in the default light-linear working color space. Use kCIContextWorkingColorSpace key to specify a working color space when creating the CIContext object.

Preview

####YUCISurfaceBlur

A bilateral filter. Blurs an image while preserving edges. This filter is almost identical to Photoshop's "Surface Blur" filter.

Useful for creating special effects and for removing noise or graininess. Slow on large inputRadius.

Preview

####YUCITriangularPixellate

Maps an image to colored triangles.

Preview

####YUCIFXAA

A basic implementation of FXAA (Fast Approximate Anti-Aliasing).

Preview

###Transitions

####YUCICrossZoomTransition

A transition that pushes the inputImage toward the viewer and then snaps back with the inputTargetImage.

Preview

####YUCIFlashTransition

Transitions from one image to another by creating a flash effect.

Preview

###Generators

####YUCIStarfieldGenerator

Generate a starfield image. Animatable by changing the inputTime parameter. Based on Star Nest by Pablo Román Andrioli

Preview

####YUCIBlobsGenerator

Generate a image with colorful blobs. Animatable by changing the inputTime parameter. Based on Blobs by @paulofalcao

Preview

##Utilities

####YUCIFilterConstructor

A singleton that conforms to CIFilterConstructor protocol.

Can be used in +[CIFilter registerFilterName:constructor:classAttributes:] to register a CIFilter. This filter constructor simply assume that the filterName is the class name of the custom CIFilter and calls [[FilterClass alloc] init] to construct a filter.

####YUCIMetalUtilities

+[YUCIMetalUtilities textureFromCGImage:device:]

Create a MTLTexture from a CGImageRef object.

####YUCIFilterPreviewGenerator

Can be used to generate a preview image/gif for a filter. All the preview images/gifs on this page are generated by this utility. For demonstration/testing purposes only, do not use it in your production code.

##Next

  • Add filter previews to readme.
  • AA for triangular pixellate filter.
  • CLAHE

##Based on Vivid

####YUCIHighPassSkinSmoothing

An implementation of High Pass Skin Smoothing