AVCaptureSession
&を使用してAVCapturePhotoOutput
、デバイスのカメラから RAW 写真データをkCVPixelFormatType_14Bayer_RGGB
形式でキャプチャしています。
AVCapturePhotoCaptureDelegate
コールバックで生の写真のサンプル バッファを取得するところまで来ました。
func capture(captureOutput: AVCapturePhotoOutput,
didFinishProcessingRawPhotoSampleBuffer rawSampleBuffer: CMSampleBuffer?,
previewPhotoSampleBuffer: CMSampleBuffer?,
resolvedSettings: AVCaptureResolvedPhotoSettings,
bracketSettings: AVCaptureBracketedStillImageSettings?,
error: Error?) {
guard let rawSampleBuffer = rawSampleBuffer else { return }
guard let pixelBuffer = CMSampleBufferGetImageBuffer(rawSampleBuffer) else { return }
}
現在、この質問への回答に従ってからピクセル値を取得しようとしていますが、回答にCVPixelBufferRef
記載されている 32 ビット RGB 形式ではなく、14 ビット Bayer RGGB ピクセル形式を使用する場合、これを行う方法がわかりません。