Swift패키지 · v0.1.0
KLSubjectVision
CGImage에서 정사각형 피사체 또는 장면 썸네일을 만듭니다.
KLSubjectVision은 피사체 분리와 정사각형 배치를 하나로 묶은Swift패키지입니다. `.subject`는 분리한 피사체 전체가 투명한 정사각형 안에 보이도록 배치하고, 분리에 실패하면 원본 이미지로 정사각형을 채웁니다. `.room`은 장소나 실내 사진처럼 장면 전체를 유지해야 하는 이미지에 사용합니다.
기능
- Apple Vision을 이용한 전경 분리
- 여백을 지정할 수 있는 피사체 전체 맞춤 배치
- 장소 사진과 대체 처리에서는 정사각형을 가득 채워 배치
- 테스트용 전경 분리기 교체 가능
포함하지 않는 기능
이 패키지는 `CGImage` 변환만 담당합니다. UIImage또는NSImage로딩, 이미지 방향 보정, 작업 실행과 취소, 인코딩, 저장 위치, 캐시 키, 첨부 파일 관리는 앱에서 처리해야 합니다.
SwiftPM으로 추가
Package.swiftSwift
.package(url: "https://github.com/KoenLee1023/KLSubjectVision.git", from: "0.1.0")사용 방법
연동 예제Swift
let output = SubjectThumbnailProcessor().process(
source,
request: .subject(pixelSize: 512, inset: 28)
)
guard let output else { return }
display(output.image, path: output.kind)API문서
전체API문서 열기.SubjectThumbnailProcessor공유 가변 상태가 없는 동기 처리기입니다. 테스트에서는 `ForegroundExtractor`를 교체할 수 있습니다.
SubjectThumbnailRequest피사체를 분리하는 `.subject(pixelSize:inset:)`와 전체 이미지를 사용하는 `.room(pixelSize:)`를 제공합니다.
SubjectThumbnailOutput지정한 픽셀 크기의 정사각형 `CGImage`와 실제 처리 경로를 반환합니다.
데모 앱
Subject Studio
Apple Vision을 이용한 전경 분리 · 여백을 지정할 수 있는 피사체 전체 맞춤 배치
Thumbnail Matrix
장소 사진과 대체 처리에서는 정사각형을 가득 채워 배치 · 테스트용 전경 분리기 교체 가능