0
新しいApple Vision APIのVNImageTranslationAlignmentObservationを使用して、CGAffineTransformを返します。アイデアは、一緒にマージできる2つのイメージを渡し、そうすることができるようにCGAffineTransformを返します。私はCGAffineTransformが返されるようにコードが動作するように管理していますが、多くの情報を読み込んだ後、情報で2つのイメージをどのようにマージすることができるかが分かりません。2つの画像をCGAffineTransformで結合する
私のコードはここにある:
import UIKit
import Vision
class ImageTranslation {
let referenceImage: CGImage!
let floatingImage: CGImage!
let imageTranslationRequest: VNTranslationalImageRegistrationRequest!
init(referenceImage: CGImage, floatingImage: CGImage) {
self.referenceImage = referenceImage
self.floatingImage = floatingImage
self.imageTranslationRequest = VNTranslationalImageRegistrationRequest(targetedCGImage: floatingImage, completionHandler: nil)
}
func handleImageTranslationRequest() -> UIImage {
var alignmentTransform: CGAffineTransform!
let vnImage = VNSequenceRequestHandler()
try? vnImage.perform([imageTranslationRequest], on: referenceImage)
if let results = imageTranslationRequest.results as? [VNImageTranslationAlignmentObservation] {
print("Image Transformations found \(results.count)")
results.forEach { result in
alignmentTransform = result.alignmentTransform
print(alignmentTransform)
}
}
return applyTransformation(alignmentTransform)
}
private func applyTransformation(_ transform: CGAffineTransform) -> UIImage {
let image = UIImage(cgImage: referenceImage)
return image
}
}
印刷そうCGAffineTransform(a: 1.0, b: 0.0, c: 0.0, d: 1.0, tx: 672.0, ty: 894.0)
のようなものです私が手に変換私はこの2枚の二つの画像が渡さ適用することができますどのように?
私はいくつかの例でプレーしてきた(唯一の肖像画像だけでなく、景観で動作するはずです)、これが働いている