Domanda

Quindi, io sto facendo un po 'di elaborazione delle immagini in MATLAB, e il tentativo di salvare un file in un formato fuori Y4m con spazio colore 4: 2:. 0

In sostanza, che cosa si tratta di è che voglio usare fwrite, ma voglio essere in grado di saltare un certo numero di elementi nel vettore di quella scrittura. C'è un modo semplice che posso fare questo?

È stato utile?

Soluzione

Ci sono per fare questo già.

Se ti ostini a fare le cose da soli (io lo faccio, perché non posso essere disturbato pagare per le cassette separate), si può sempre fare un nuovo vettore contenente solo gli elementi necessari per scrivere. Supponendo che avete YUV 4: 4: 4 e si vuole scrivere come YUV 4: 2: 0:

  • Split yuv444 in essa la parte Y', Cb, Cr componenti
  • Scrivi Y' come è, usando fwrite
  • Downsampling Cb e Cr di un fattore due per ottenere Cb_down e Cr_down
  • Scrivi Cb_down e Cr_down utilizzando fwrite allo stesso handle di file aperti

Altri suggerimenti

Logical indicizzazione da ' Steve su Image Processing ' potrebbe essere un buon antipasto per il vostro scopo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top