IOS UIImage processing functions using the vDSP/Accellerate framework for speed.

Related tags

Image uiimage-dsp
Overview
UIImage Image Processing extensions using the vDSP/Accelerate framework. 

Fast Image Blur/Sharpen/Emboss/Matrix operations for UIImage. 

REQUIRES IOS 4.0 and The Accelerate framework.

I was in desperate need of a fast blur operation for UIImages and the OpenGL 
solutions I've seen are a little complicated for my needs, these aren't quite 
as fast but are potentially very powerful and still quite fast relative to 
hand coding loops. 

Usage:
- Ensure your project is set with a base and deployment target > 4.0
- Include the Accelerate Framework in your project
- Copy the UIImage+DSP.h and UIImage+DSP.m classes into your project
- In any class where you wish to use the functions import UIImage+DSP.h
- Call the imageByApplying... methods, these return an auto-released UIImage.

blur example:
 UIImage* src = [UIImage imageNamed:@"image.png"];
 UIImage* blurred = [src imageByApplyingGaussianBlur3x3];


Please feel free to send any bugfixes/pull requests on if you've got something good!
Comments
  • Black border around edges

    Black border around edges

    When applying any effect it also adds a black border around the edges of the image. For example, it seems the more gaussian blur is added the wider the black border becomes. I hope you get the time to look at this and thanks for the great work!

    opened by bjornsallarp 2
  • Please add semantic version tags

    Please add semantic version tags

    I’ve recently added uiimage-dsp to the CocoaPods package manager repo.

    CocoaPods is a tool for managing dependencies for OSX and iOS Xcode projects and provides a central repository for iOS/OSX libraries. This makes adding libraries to a project and updating them extremely easy and it will help users to resolve dependencies of the libraries they use.

    However, uiimage-dsp doesn't have any version tags. I’ve added the current HEAD as version 0.0.1, but a version tag will make dependency resolution much easier.

    Semantic version tags (instead of plain commit hashes/revisions) allow for resolution of cross-dependencies.

    In case you didn’t know this yet; you can tag the current HEAD as, for instance, version 1.0.0, like so:

    $ git tag -a 1.0.0 -m "Tag release 1.0.0"
    $ git push --tags
    
    opened by andrefgneves 0
  • Fix warnings

    Fix warnings

    I removed the -(UIImage*) imageByApplyingDiagonalMotionBlur7x7; method in the .h since it is not implemented.

    An other option would be simply to implement it :)

    opened by gcamp 0
  • Corrected my Bugfix.

    Corrected my Bugfix.

    Hi, my initial pull request freed too much of the memory. I apologize for the buggy commit! Additionally I added the dealloc method to the image view in the test project. Cheers!

    opened by Krizzzn 0
  • Found a small memory issue..

    Found a small memory issue..

    ...and implemented a fix. This was a problem when blurring bigger images, like the camera output of an iPhone 4. Also removed a few retains, because the retains are added automatically by the properties.

    opened by Krizzzn 0
  • Create CocoaPod, accompanying sample app

    Create CocoaPod, accompanying sample app

    1. Created a CocoaPod out of this UIImage category
    2. Created a sample app which uses the Pod
    3. Brought up to latest Apple recommendations (ARC, storyboard, etc)
    opened by ssoper 0
  • Motion Blur almost non-noticable

    Motion Blur almost non-noticable

    How can I make a stronger Motion Blur effect?

    Something that will look more like the train in this image: http://digital-photography-school.com/wp-content/images/slow-shutter-speed-1-1.jpg

    opened by YogevSitton-zz 0
  • Gaussian Blur give images a black border on left and right side

    Gaussian Blur give images a black border on left and right side

    When applying a gaussian blurr to images, the returned image has two black bands on each side.

    This must have something to do with difficulty to apply the filter at the edge of the image but I don't really know how to deal with it...

    Any idea?

    opened by nilsou 5
A view controller for iOS that allows users to crop portions of UIImage objects

TOCropViewController TOCropViewController is an open-source UIViewController subclass to crop out sections of UIImage objects, as well as perform basi

Tim Oliver 4.4k Jan 1, 2023
SwiftGif - A small UIImage extension with gif support.

SwiftGif - A small UIImage extension with gif support.

SwiftGif 1.3k Dec 20, 2022
TextDrawer, is a UIView allows you to add text, with gesture, on UIView, or UIImage

TextDrawer TextDrawer, is a UIView allows you to add text, with gesture, on UIView, or UIImage. About Annotating Images TextDrawer is the easiest way

Remi ROBERT 106 Dec 18, 2022
Convert UIImage to ASCII art

BKAsciiImage As seen on Cmd.fm iOS App https://itunes.apple.com/app/cmd.fm-radio-for-geeks-hackers/id935765356 Installation BKAsciiImage is available

Barış Koç 427 Dec 17, 2022
An NSFW image detector for Swift built as an extension on UIImage.

Swift_NSFW_Detector An NSFW image detector for Swift built as an extension on UIImage. If you've ever allowed users to share images you are probably w

Chris Brown 5 Nov 27, 2022
An open source iOS framework for GPU-based image and video processing

GPUImage Brad Larson http://www.sunsetlakesoftware.com @bradlarson [email protected] Overview The GPUImage framework is a BSD-licensed iO

Brad Larson 20k Jan 1, 2023
GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing.

GPUImage 2 Brad Larson http://www.sunsetlakesoftware.com @bradlarson [email protected] Overview GPUImage 2 is the second generation of th

Brad Larson 4.8k Dec 29, 2022
Advanced framework for loading, caching, processing, displaying and preheating images.

Advanced framework for loading, caching, processing, displaying and preheating images. This framework is no longer maintained. Programming in Swift? C

Alexander Grebenyuk 1.2k Dec 23, 2022
A GPU accelerated image and video processing framework built on Metal.

MetalPetal An image processing framework based on Metal. Design Overview Goals Core Components MTIContext MTIImage MTIFilter MTIKernel Optimizations C

null 1.5k Jan 4, 2023
PublisherKit - An open source implementation of Apple's Combine framework for processing asynchronous events over time

Publisher Kit Overview PublisherKit provides a declarative Swift API for processing asynchronous events over time. It is an open source version of App

null 5 Feb 22, 2022
GPU-based media processing library using Metal written in Swift

GPU-based media processing library using Metal written in Swift. Overview MetalAcc is a GPU-Based media processing library that lets you apply GPU-acc

Jiawei Wang 259 Dec 17, 2022
Fabulous Image Processing in Swift

Toucan is a Swift library that provides a clean, quick API for processing images. It greatly simplifies the production of images, supporting resizing,

Gavin Bunney 2.4k Jan 6, 2023
A high-performance image library for downloading, caching, and processing images in Swift.

Features Asynchronous image downloader with priority queuing Advanced memory and database caching using YapDatabase (SQLite) Guarantee of only one ima

Yap Studios 72 Sep 19, 2022
Extract Metal functions from .metallib files.

Metal Library Archive MetalLibraryArchive is a product of reverse-engineering Apple's metallib file format. You can use MetalLibraryArchive to get the

Yu Ao 57 Dec 3, 2022
STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy.

STDevRxExt Example To run the Example.playground, clone the repo, and run pod install from the Example directory first. Requirements iOS 9.0+ tvOS 9.0

STDev 6 Mar 26, 2021
SharkCardScan is a Credit/Debit Card scanner built using Apple's Vision Framework.

iOS Credit/Debit card scanner, built using Apple's Vision Framework.

Gymshark 23 Nov 16, 2022
A simple macOS app to read code from images, written purely in Swift using Vision Framework.

CodeReader A simple macOS app to read code from images, written purely in Swift using Vision Framework. Usage Drag an image Click the convert button R

Md Ibrahim Hassan 44 Nov 20, 2022
An implementation of High Pass Skin Smoothing using Apple's Core Image Framework

YUCIHighPassSkinSmoothing An implementation of High Pass Skin Smoothing using CoreImage.framework Available on both OS X and iOS. Ports A MetalPetal b

Yu Ao 1.2k Dec 17, 2022
A low-maintenance, simple framework for a snapshot testing, which takes into account a snapshot difference factor (must have if you're using CI).

CornSnapshotTesting A low-maintenance, simple framework for a snapshot testing, which takes into account a snapshot difference factor (must have if yo

Rita 2 Nov 29, 2021