Mit Fwrite wollen zwischen jedem Schreib drei Elemente in A auszulassen Schreiben
-
10-10-2019 - |
Frage
Also, ich bin etwas Bildverarbeitung in MATLAB tun, und versuchen, eine Datei zu speichern, um ein y4m Format mit Farbraum 4: 2:. 0
Im Grunde, was es ankommt, ist, ich will fwrite verwenden, aber ich möchte in der Lage sein, eine bestimmte Anzahl von Elementen in dem Vektor, dass die Schrift zu überspringen. Gibt es eine einfache Art und Weise kann ich dies tun?
Lösung
Es gibt Tools dies bereits tun.
Wenn Sie darauf bestehen, Dinge selbst zu tun (ich weiß, da ich nicht für die einzelnen Werkzeugkästen zahlen gestört werden kann), können Sie immer einen neuen Vektor nur die Elemente, die Sie zum Schreiben enthält machen. Unter der Annahme, dass Sie YUV 4: 4: 4, und Sie wollen, schreiben sie als YUV 4: 2: 0:
- Split
yuv444
in seinen separaten Y‘, Cb, Cr-Komponenten - Schreiben
Y'
wie es ist, mitfwrite
- Neuberechnung
Cb
undCr
um einen Faktor von zwei zu bekommenCb_down
undCr_down
- Schreiben
Cb_down
undCr_down
auf die gleiche offene Datei-Handle mitfwrite
Andere Tipps
Logische Indizierung von ‚ Steve auf Bildverarbeitung ‘könnte ein guter Starter für Ihr Ziel sein.