[swift] Core Image를 사용하여 이미지에 감마 조정을 적용하는 방법은?

다음은 Core Image를 사용하여 이미지에 감마 조정을 적용하는 예제 코드입니다.

import UIKit

// 이미지를 CIImage로 변환
let inputImage = CIImage(image: UIImage(named: "inputImage.jpg")!)

// 감마 조정 필터 생성
let gammaFilter = CIFilter(name: "CIGammaAdjust")
gammaFilter?.setValue(inputImage, forKey: kCIInputImageKey)
gammaFilter?.setValue(1.5, forKey: "inputPower") // 감마 값을 조절

// CIContext를 사용하여 필터를 적용하여 결과 이미지를 얻음
let ciContext = CIContext(options: nil)
if let outputImage = gammaFilter?.outputImage,
   let cgImage = ciContext.createCGImage(outputImage, from: outputImage.extent) {
    let finalImage = UIImage(cgImage: cgImage)
    // 조정된 이미지 사용
}

위 코드에서 “inputImage.jpg”는 감마 조정을 적용하고자 하는 이미지 파일의 이름에 해당하는 것으로 바꿔야 합니다.

이 예제는 CIGammaAdjust 필터를 사용하여 감마 조정을 적용하는 방법을 보여줍니다. “inputPower” 값을 조절하여 감마 값을 변경할 수 있습니다. 적용된 필터를 CIContext를 사용하여 이미지로 렌더링하여 최종적으로 UIImage 객체로 얻을 수 있습니다.