sampleBufferをUIImageに変換しようとしていて、colorspaceGrayの画像ビューで表示しようとしています。しかし、それは次のイメージとして表示されます。この質問には何が間違っていますか? CMSampleBufferをどのように変換できますか? CMSampleBufferをUIImageに変換する
0
A
答えて
5
変換は単純です:
func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, from connection: AVCaptureConnection!) {
let imageBuffer: CVPixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer)!
let ciimage : CIImage = CIImage(cvPixelBuffer: imageBuffer)
let image : UIImage = self.convert(cmage: ciimage)
}
// Convert CIImage to CGImage
func convert(cmage:CIImage) -> UIImage
{
let context:CIContext = CIContext.init(options: nil)
let cgImage:CGImage = context.createCGImage(cmage, from: cmage.extent)!
let image:UIImage = UIImage.init(cgImage: cgImage)
return image
}
1
CMSampleBuffer
は、あなたが、直接グレースケール画像を構築し、そこからRGBAデータを与えているように見えます。新しいバッファを構築する必要があります。新しいバッファは、ピクセルごとにgray = (pixel.red+pixel.green+pixel.blue)/3
のような処理を行います。または、受け取ったデータから通常のRGBAイメージを作成し、それをグレースケールに変換する必要があります。
しかし、あなたのコードでは、全く移行しません。どのような種類のデータが入っていても、生のポインタをCVPixelBufferGetBaseAddress
を使用してバッファに入れました。そして、受け取ったデータがグレースケールであると仮定して、イメージを作成するのに同じポインタを渡すだけです。
関連する問題
- 1. CMSampleBuffer(swift 3)からUIImageをキャプチャします。
- 2. バイトをUIImageに変換する
- 3. UIViewレイヤーをUIImageに変換する
- 4. UIViewをUIImage Swift 3に変換する
- 5. UIImageをCMSampleBufferRefに変換する
- 6. バイト配列をUIImageに変換する
- 7. NSStringをUIImageに変換する
- 8. ios、UIImageをMultipartFileに変換する
- 9. NSInputStreamをUIImageに変換する方法
- 10. UIImageをバイトに変換する
- 11. UIimage to char *変換
- 12. UIImageをCVImageBufferRefに変換します
- 13. Swiftのバイト配列をUIImageに変換
- 14. はUIImageにPHAssetを変換し、ユーザ
- 15. NSIIからのUIImage変換
- 16. UIImageイメージ表現の変換
- 17. UIImageをCGImageに変換すると画像が回転する
- 18. Swift Library:AlamofireのアニメーションGIF UIImageをNSDataに変換するには?
- 19. uiviewをuiimageに変換してフォトギャラリーに保存する方法
- 20. UIImageビューをNSURLに変換してFirebaseにアップロードする
- 21. Xamarin iOSでストリームをUIImageに変換するには?
- 22. カーネルアレイをiPhoneで非常に遅いUIImageに変換する
- 23. Iphone IplImageをUIImageに変換して戻すと回転する
- 24. vimageに変換されたCMSampleBufferフレームの色が間違っています
- 25. テキストをUIimageに変換する方法(GPUを使用)
- 26. NSDATAをUIImageに変換する際の遅い速度
- 27. SwiftのURI(URLではない)をUIImageに変換する
- 28. JSON文字列をUIImageに変換する
- 29. iphoneでASCIIテキストアートをUIImageに変換する方法
- 30. UIImageViewタッチ座標をUIImage座標に変換する
ありがとう、また、UIImageをCMSampleBufferに変換する方法もありますか? – user924