2017-07-11 3 views
0

Meine Kamera-App nimmt ein Foto auf, verbessert es in bestimmter Weise und speichert es.Wie konvertiere ich einen CVPixelBuffer/CVImageBuffer in Data?

Dazu erhalte ich das Eingabebild von der Kamera in Form eines CVPixelBuffer (in einem CMSampleBuffer verpackt). Ich führe einige Änderungen am Pixel-Puffer durch und möchte sie dann in ein Data-Objekt konvertieren. Wie mache ich das?

Beachten Sie, dass ich den Pixelpuffer/Bildpuffer nicht in ein UIImage oder CGImage konvertieren möchte, da diese keine Metadaten (wie EXIF) haben. Ich brauche ein Datenobjekt. Wie bekomme ich einen von einem CVPixelBuffer/CVImageBuffer?


PS: Ich habe versucht, AVCapturePhotoOutput.jpegPhotoDataRepresentation() Aufruf aber das fehlschlägt "Nicht ein JPEG-Probenpuffer" zu sagen. Das ist sinnvoll, da der CMSampleBuffer einen Pixel-Puffer (eine Bitmap) und kein JPEG enthält.

Antwort

0

Wie Sie gesagt, dass Sie in der Lage sind, die CMSampleBuffer zu bekommen, dann können Sie es mit

NSData *myata = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:<your_cmsample_buffer_obj‌​>]; 
Verwandte Themen