動画合成/画像合成でさまざまなイメージを作れる
iPhoneやiPadのアプリで高速に実行できるので、
・旅行イメージの提案
・広告画像の作成
・商品使用イメージ
・動画のクロマキー合成
などに使える。
コード
以下のコードだけで人物のマット画像がとれる。
import Vision
var request = VNGeneratePersonSegmentationRequest()
request.qualityLevel = .accurate // .balanced .fast
let handler = VNImageRequestHandler(ciImage: inputCIImage, options: [:])
do {
try handler.perform([request])
guard let result = request.results?.first as? VNPixelBufferObservation else { return }
} catch let error {
print(error)
}
これを背景画像と合成するコードは以下。
let outputCIImage = CIImage(cvPixelBuffer: result.pixelBuffer).resize(as:inputCIImage.extent.size)
guard let backgroundImage = UIImage(named: "cube"),
let bgCIImage = CIImage(image:backgroundImage)?.resizeBackGround(as: inputCIImage.extent.size) else { fatalError() }
guard let compositedCIImage = CIFilter(name: "CIBlendWithMask", parameters: [
kCIInputImageKey: ciImage,
kCIInputBackgroundImageKey:bgCIImage,
kCIInputMaskImageKey:outputCIImage ])?.outputImage else {fatalError("Image processing failed.")}
let context = CIContext()
guard let safeCGImageFinal = context.createCGImage(compositedCIImage, from: compositedCIImage.extent) else {fatalError("Image processing failed.")}
let outputImage = UIImage(cgImage: safeCGImageFinal)
🐣
フリーランスエンジニアです。
AIについて色々記事を書いていますのでよかったらプロフィールを見てみてください。
もし以下のようなご要望をお持ちでしたらお気軽にご相談ください。
AIサービスを開発したい、ビジネスにAIを組み込んで効率化したい、AIを使ったスマホアプリを開発したい、
ARを使ったアプリケーションを作りたい、スマホアプリを作りたいけどどこに相談したらいいかわからない…
いずれも中間コストを省いたリーズナブルな価格でお請けできます。
お仕事のご相談はこちらまで
rockyshikoku@gmail.com
機械学習やAR技術を使ったアプリケーションを作っています。
機械学習/AR関連の情報を発信しています。