Coder Social home page Coder Social logo

vivid's Introduction

Vivid

CocoaPods Platform CocoaPods Version CocoaPods License

A set of 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

YUCIHistogramEqualization

Perform a Histogram Equalization on the input image. Internally uses Accelerate.framework.

Preview

YUCIReflectedTile

Produces a tiled image from a source image by reflecting pixels over the edges.

Preview

YUCICLAHE

Perform a Contrast Limited Adaptive Histogram Equalization on the lightness channel of the input image.

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.

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
  • Write a paper on the implementation of CLAHE.
  • Kuwahara filter

Related Projects

An implementation of High Pass Skin Smoothing.

An image view for rendering CIImage with Metal/OpenGL/CoreGraphics.

vivid's People

Contributors

yuao avatar weixiyen avatar

Watchers

John D. Pope avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.