본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 06. 02. 15:41

iOS/Swift로 작은 얼굴 보정 필터 만들기

요약

iOS 환경에서 Swift와 Vision 프레임워크를 사용하여 얼굴을 검출하고, CIBumpDistortion 필터를 적용해 얼굴을 작게 만드는 보정 필터 구현 방법을 소개합니다.

핵심 포인트

  • VNDetectFaceRectanglesRequest를 통한 얼굴 영역 검출
  • CIBumpDistortion 필터를 활용한 이미지 왜곡 구현
  • 자연스러운 보정을 위한 반지름(radius) 설정 및 크롭 처리

미인·작은 얼굴 보정 앱 만들기

小顔.gif

인스타그램에 업로드할 때 얼굴을 작게 만들곤 하시죠?

작은 얼굴 필터를 구현하는 방법입니다.

얼굴을 검출하여 왜곡시키기

얼굴 영역을 중심으로 왜곡시킵니다.

이렇게 하면 주변부는 최대한 자연스럽게 유지하면서, 얼굴만 서서히 작게 만들 수 있습니다.

얼굴 검출

let request = VNDetectFaceRectanglesRequest()
let handler = VNImageRequestHandler(cgImage: cgImage, options: [:])
try? handler.perform([request])
...

이것이 이미지 내의 얼굴 영역입니다.

이 영역에,

CIBumpDistortion

이라는 필터를 적용합니다.

let boxCenter = CGPoint(x: boxInImage!.minX+boxInImage!.width/2, y: boxInImage!.minY+boxInImage!.height/2)
let radius = boxInImage!.height * 1.7
let filter = CIFilter(name: "CIBumpDistortion", parameters: [kCIInputImageKey:ciImage,
...

이렇게 하면 얼굴 부분만 왜곡되어 수축된 이미지를 얻을 수 있습니다.

radius(반지름)가 이미지의 끝을 넘어가면 이미지 영역 전체가 작아져 버리기 때문에, 마지막에 크롭(Crop)을 수행합니다.

🐣

프리랜서 엔지니어입니다.

AI에 대해 다양한 기사를 쓰고 있으니 괜찮으시다면 프로필을 확인해 주세요.

만약 다음과 같은 요청 사항이 있으시다면 언제든 편하게 상담해 주세요.

AI 서비스를 개발하고 싶다, 비즈니스에 AI를 도입하여 효율화하고 싶다, AI를 사용한 스마트폰 앱을 개발하고 싶다,

AR을 사용한 애플리케이션을 만들고 싶다, 스마트폰 앱을 만들고 싶지만 어디에 상담해야 할지 모르겠다…

모두 중간 비용을 절감한 합리적인 가격으로 진행해 드릴 수 있습니다.

업무 상담은 이쪽으로

rockyshikoku@gmail.com

머신러닝(Machine Learning)이나 AR 기술을 사용한 애플리케이션을 만들고 있습니다.

머신러닝/AR 관련 정보를 발신하고 있습니다.

Discussion

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn ML의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0