Swift套件 · v0.1.0
KLSubjectVision
從CGImage產生正方形主體或場景縮圖。
KLSubjectVision用來產生正方形縮圖。`.subject` 透過Apple Vision擷取前景,再將完整主體依比例放入透明畫布。擷取失敗時改用原圖。`.room` 不擷取主體,直接裁切場景圖片。
功能
- Vision前景實例遮罩
- 可設定inset的主體等比例縮放
- `.room` 與 `.fallback` 使用置中填滿
- 測試時可以替換 `ForegroundExtractor`
不包含的功能
套件只處理 `CGImage`。圖片載入、方向校正、工作排程、取消、編碼、儲存與快取由整合端App負責。
透過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` 與處理路徑。
範例App
Subject Studio
Vision前景實例遮罩 · 可設定inset的主體等比例縮放
Thumbnail Matrix
`.room` 與 `.fallback` 使用置中填滿 · 測試時可以替換 `ForegroundExtractor`