Question

Alors, je fais un peu de traitement d'image dans MATLAB, et en essayant d'enregistrer un fichier sur un format y4m avec colorspace 4: 2:. 0

En fait, ce qu'il revient à dire que je veux utiliser fwrite, mais je veux être en mesure de sauter un certain nombre d'éléments dans le vecteur de l'écriture. Est-il un moyen facile, je peux le faire?

Était-ce utile?

La solution

Il y a pour ce faire déjà.

Si vous insistez pour faire les choses vous-même (je fais, puisque je ne peux pas être pris la peine de payer pour les boîtes à outils séparés), vous pouvez toujours faire un nouveau vecteur ne contenant que les éléments dont vous avez besoin d'écrire. En supposant que vous avez YUV 4: 4: 4 et que vous voulez écrire comme YUV 4: 2: 0:

  • de Split yuv444 dans elle est séparée Y », Cb, Cr composants
  • Ecrire Y' comme il est, en utilisant fwrite
  • Downsample Cb et Cr par un facteur de deux pour Cb_down et Cr_down
  • Ecrire Cb_down et Cr_down en utilisant fwrite au même fichier ouvert

Autres conseils

indexation logique de « Steve sur traitement de l'image » pourrait être un bon début pour votre objectif.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top