[swift] 이미지를 블랙 앤 화이트로 변환하기

이미지를 블랙 앤 화이트로 변환하는 것은 Swift에서 쉽게 할 수 있는 작업입니다. 이번 블로그 포스트에서는 Core Image 프레임워크를 사용하여 이미지를 변환하는 방법을 알아보겠습니다.

Core Image framework

Core Image 프레임워크는 이미지 및 비디오를 다루는 데 사용되는 강력한 프레임워크입니다. 이미지 필터링, 이미지 조정 및 그래픽 처리를 위한 다양한 기능과 필터를 제공합니다.

이미지 블랙 앤 화이트로 변환하기

Core Image를 사용하여 이미지를 블랙 앤 화이트로 변환하는 방법은 다음과 같습니다.

import UIKit
import CoreImage

func convertToBlackAndWhite(image: UIImage) -> UIImage? {
    guard let ciImage = CIImage(image: image) else { return nil }
    
    let context = CIContext(options: nil)
    let colorFilter = CIFilter(name: "CIColorControls")!
    colorFilter.setValue(ciImage, forKey: kCIInputImageKey)
    colorFilter.setValue(0.0, forKey: kCIInputSaturationKey)
    
    guard let outputImage = colorFilter.outputImage else { return nil }
    
    guard let cgImage = context.createCGImage(outputImage, from: outputImage.extent) else { return nil }
    
    return UIImage(cgImage: cgImage)
}

위의 코드는 convertToBlackAndWhite 함수를 정의하고, 주어진 이미지를 블랙 앤 화이트로 변환하는 기능을 구현한 것입니다. 이 함수는 원본 이미지를 CIImage로 변환하고, CIColorControls 필터를 사용하여 채도를 0으로 설정하여 이미지를 흑백으로 만듭니다. 마지막으로, 변환된 이미지를 CGImage로 변환하여 UIImage로 리턴합니다.

사용 예제

변환된 이미지를 표시하기 위해 다음과 같이 함수를 호출할 수 있습니다.

let originalImage = UIImage(named: "sample.jpg")
let bwImage = convertToBlackAndWhite(image: originalImage)
imageView.image = bwImage

위의 예제에서는 originalImage 변수에 원본 이미지를 할당하고, convertToBlackAndWhite 함수를 사용하여 이미지를 블랙 앤 화이트로 변환한 후, imageView에 표시합니다.

결론

Swift에서 이미지를 블랙 앤 화이트로 변환하는 방법을 알아보았습니다. Core Image 프레임워크를 사용하여 쉽고 효율적으로 이미지 처리 작업을 수행할 수 있습니다. 이러한 작업은 사진 편집 앱 및 이미지 프로세싱 알고리즘을 개발하는 데 유용합니다.

더 자세한 내용 및 Core Image 프레임워크의 다양한 기능에 대해서는 Apple Developer Documentation을 참고하세요.