0

Je souhaite stocker les octets bruts d'une image capturée en utilisant AVCaptureSession. Mais je n'ai vu que des exemples de représentation et de représentation. Je veux stocker les octets de données brutes dans les documents de disque locaux du téléphone afin qu'il puisse être rouvert à d'autres moments et converti en UIImage pour le post-traitement. Y a-t-il un moyen de faire cela? par exemple:Comment stocker .raw ou octets bruts d'images dans le dossier de documents disque local sans représentation png ou jpeg

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

Puis-je stocker rawImageBytes dans les documents pour l'ouvrir plus tard?

Répondre

2

Bien sûr, vous pouvez. Créer un objet contenant vos NSData octets et enregistrer qu'en utilisant l'une des méthodes de sauvegarde de fichiers NSData (par exemple writeToURL:atomically:.)

Vous aurez besoin de connaître le nombre d'octets dans votre pixelBuffer bien. Il semble que vous devriez utiliser CVPixelBufferGetDataSize pour obtenir le nombre d'octets.

+0

Quelle extension de fichier est-ce que j'utiliserais pour l'URL? .dat? –

+0

Tout ce qui est approprié à vos besoins. Vous allez être celui qui consomme le fichier, donc vous pouvez utiliser une extension de ".xyz" si vous voulez, aussi longtemps que vous écrivez le code qui lit le fichier pour rechercher un fichier avec cette extension. –

+0

Merci beaucoup monsieur! Je ne savais pas trop comment le système de fichiers fonctionne au départ, j'ai une solution pour travailler! –