0

AVCaptureSessionを使用してキャプチャされたピクチャの生のバイトを保存します。しかし、私はpngrepresentationとjpegrepresentationの例しか見ていません。私は生のデータバイトを電話のローカルディスク文書に保存して、他の時間に再オープンし、後処理のためにUIImageに変換することができます。これを行う方法はありますか?例えば :ピクチャの.rawまたはrawバイトをローカルディスクドキュメントフォルダにpngまたはjpeg表現なしで保存する方法

CVPixelBufferLockBaseAddress(pixelBuffer, 0); 
GLubyte *rawImageBytes = CVPixelBufferGetBaseAddress(pixelBuffer); 

私は、ドキュメント内rawImageBytesは、後でそれを開くために保存することができますか?

答えて

2

もちろん可能です。あなたのバイトを含むNSDataオブジェクトを作成し、NSDataファイルの保存方法のいずれかを使用していることを保存する(例えばwriteToURL:atomically:を。)

あなたはしかし、あなたのpixelBufferのバイト数を知る必要があります。バイト数を取得するには、CVPixelBufferGetDataSizeを使用する必要があります。

+0

URLにはどのようなファイル拡張子を使用しますか? .dat? –

+0

あなたのニーズに適したものは何でも。ファイルを読み込むコードを書いている限り、必要に応じて拡張子 ".xyz"を使用することができます。 –

+0

ありがとうございました!私はファイルシステムの格納方法が最初はうまくいかなかったと思っていました。私は解決策を得ました! –

関連する問題