Hinweise zum Lesen und Schreiben von float32 TIFF-Bildern mit Python

Hintergrund

Ich möchte ein 32-Bit-TIFF-Bild (Graustufen, RGB) lesen, das ich selbst mit Python erstellt habe.

B. mit einem DNG / TIFF-Writer, der nur in C ++ mit Header verwendet werden kann.

https://github.com/syoyo/tinydngloader/tree/master/examples/dngwriter

Ich möchte 2D-Tensordaten und HDR-Bilder als Tiffs speichern.

Methode

How do you read a 32-bit TIFF image in python? https://stackoverflow.com/questions/40751523/how-do-you-read-a-32-bit-tiff-image-in-python

https://gist.github.com/ax3l/5781ce80b19d7df3f549

Sie können es um Skimage, Imageio, Pillow (PIL), OpenCV lesen. Diese scheinen Tifffile intern zu verwenden. Zumindest hat imageio Tifffile verwendet.

https://pypi.org/project/tifffile/

Möglicherweise können Sie es auch mit rawpy lesen.

Sie können es um imageio (tifffile) speichern.

Sei vorsichtig mit Endian

In TIFF haben wir festgestellt, dass Pixeldaten auch ordnungsgemäß endiankonvertiert werden müssen. Wenn Sie beispielsweise mit BigEndian unter x86 exportieren, konvertieren Sie in Endian und exportieren Sie.

Als ich das 32-Bit-Float-TIFF von BigEndian mit imageio und cv2 mit meinem eigenen TIFF las, bemerkte ich, dass der Pixelwert vertauscht wurde und zu einem unbestimmten Wert wurde.

Ursprünglich sollte es nicht notwendig sein, zu tauschen, aber wird dies durch die TIFF-Spezifikation irgendwo entschieden?

Für x86 ist es vorerst eine gute Idee, ein TIFF mit Little Endian zu erstellen.

Recommended Posts

Hinweise zum Lesen und Schreiben von float32 TIFF-Bildern mit Python
Lesen und Schreiben von Text in Python
Lesen und Schreiben von CSV- und JSON-Dateien mit Python
Hinweise zu Python- und Wörterbuchtypen
Lesen und Schreiben von Python CSV-Dateien
Lesen und Schreiben von NetCDF mit Python
Lesen und Schreiben von CSV mit Python
[Python] Hinweise zu while-Anweisungen (Schreibstil und Endlosschleife)
Hinweise zur Verwendung von cChardet und python3-chardet in Python 3.3.1.
Hinweise zum Erstellen von Python und Pyenv auf dem Mac
Lesen und Schreiben von JSON-Dateien mit Python
(Python) Hinweise zum Lesen von HTML und zur Verwendung regulärer Ausdrücke
Lesen Sie die Datei mit Python und löschen Sie die Zeilenumbrüche [Hinweise zum Lesen der Datei]
Hinweise zur Installation von Python3 und zur Verwendung von pip unter Windows7
Studie aus Python Lesen und Schreiben von Hour9-Dateien
ABC125_C --GCD auf Blackboard [In Python gelöste Notizen]
Beispiel für das Lesen und Schreiben von CSV mit Python
Hinweise zur HDR- und RAW-Bildverarbeitung mit Python
Hinweise zum Schreiben von Konfigurationsdateien für Python Hinweis: configparser
Hinweise zur Verwendung von StatsModels, die lineare Regression und GLM in Python verwenden können
Ich habe versucht, mit Python Modebilder und Textsätze zu [kratzen].
Hinweise zur Funktion und Rückverfolgung
Base64-Codierung von Bildern in Python 3
Python auf Ruby und wütend Ruby auf Python
Anmerkungen zu * args und ** kargs
Lesen und Schreiben von CSV-Dateien
Anmerkungen zu Pyenv und Atom
[Python] Hinweise zur Datenanalyse
Hinweise zur Installation von Python auf Ihrem Mac
Lesen von Notizen (in Python und Stan) zur Einführung in die statistische Modellierung für die Datenanalyse (Midorimoto)
Stapel und Warteschlange in Python
Hinweise zum Bereitstellen von pyenv mit Homebrew und zum Verwalten von Python-Versionen
Hinweise zu imshow () von OpenCV
Hinweise zur Installation von Python unter CentOS
So installieren Sie OpenCV in Cloud9 und führen es in Python aus
entwurzeln: Python / Numpy-basierte Bibliothek zum Lesen und Schreiben von ROOT-Dateien
Zahlenerkennung in Bildern mit Python
Bildpixel-Manipulation in Python
Pakete, die MIDI mit Python Midi und Pretty_Midi verarbeiten
Python 3.6 unter Windows ... und zu Xamarin.
Unterschied zwischen list () und [] in Python
Unterschied zwischen == und ist in Python
Zeigen Sie Fotos in Python und HTML an
Sortieralgorithmus und Implementierung in Python
Minimale Grammatiknotizen zum Schreiben von Python
Hinweise zur Verwendung von MeCab aus Python
Bearbeiten Sie Dateien und Ordner in Python
Über Python und Cython dtype
Hinweise zur Verwendung von Post-Receive und Post-Merge
Zuweisungen und Änderungen in Python-Objekten
Verknüpfen Sie Modelica und Python unter Windows
Überprüfen und verschieben Sie das Verzeichnis in Python
Extrahieren Sie mit Python Text aus Bildern
Verschlüsselung mit Python: IND-CCA2 und RSA-OAEP
Hinweise zur Installation von Python mit PyEnv
Hashing von Daten in R und Python
Funktionssynthese und Anwendung in Python