Blurring an UIImage by applying a Core Image filter

by @ralfebert · published February 21, 2020

To apply image effects like blur to an UIImage, use Core Image filters:

import UIKit
import CoreImage.CIFilterBuiltins

let image = UIImage(named: "landscape.jpg")!

extension UIImage {

    func blur(radius: Float) -> UIImage? {
        let image = CIImage(image: self)
        let blurFilter = CIFilter.gaussianBlur()
        blurFilter.inputImage = image
        blurFilter.radius = radius
        guard let ciImage = blurFilter.outputImage else { return nil }
        return UIImage(ciImage: ciImage)
    }

}

image.blur(radius: 5.0)