Notes sur la lecture et l'écriture d'images TIFF float32 avec python

Contexte

Je veux lire une image TIFF 32 bits (niveaux de gris, RVB) générée par moi-même avec python.

Par exemple, avec un graveur DNG / TIFF qui peut être utilisé avec l'en-tête uniquement en C ++

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

Je souhaite enregistrer les données de tenseur 2D et les images HDR sous forme de tiffs.

Méthode

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

Vous pouvez le lire autour de skimage, imageio, Pillow (PIL), OpenCV. Ceux-ci semblent utiliser tifffile en interne, au moins imageio a utilisé tifffile.

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

Vous pourrez peut-être également le lire avec rawpy.

Vous pouvez l'enregistrer dans imageio (tifffile).

Soyez prudent avec endian

Dans TIFF, nous avons constaté que les données de pixels doivent également être correctement converties en endian. Par exemple, lors de l'exportation avec BigEndian sur x86, convertissez en endian et exportez.

Quand j'ai lu le TIFF flottant BigEndian 32 bits avec imageio et cv2 avec mon propre tiff, j'ai remarqué que la valeur de pixel était permutée et devenait une valeur indéfinie.

À l'origine, il ne devrait pas être nécessaire d'échanger, mais est-ce quelque part décidé par la spécification TIFF?

Pour le moment, pour x86, c'est une bonne idée de créer un TIFF avec Little endian.

Recommended Posts

Notes sur la lecture et l'écriture d'images TIFF float32 avec python
Lire et écrire du texte en Python
Lire et écrire des fichiers CSV et JSON avec Python
Notes sur Python et les types de dictionnaire
Lecture et écriture de fichiers CSV Python
Lire et écrire NetCDF avec Python
Lire et écrire du CSV avec Python
[Python] Notes sur les instructions while (style d'écriture et boucle infinie)
Notes utilisant cChardet et python3-chardet dans Python 3.3.1.
Remarques sur la construction de Python et pyenv sur Mac
Lire et écrire des fichiers JSON avec Python
(Python) Remarques sur la lecture de HTML et l'utilisation d'expressions régulières
Lisez le fichier avec python et supprimez les sauts de ligne [Notes sur la lecture du fichier]
Remarques sur l'installation de Python3 et l'utilisation de pip sous Windows7
Étude à partir de Python Lecture et écriture de fichiers Hour9
ABC125_C --GCD sur tableau noir [Notes résolues en Python]
Exemple de lecture et d'écriture de CSV avec Python
Remarques sur le traitement d'images HDR et RAW avec Python
Remarques sur l'écriture des fichiers de configuration pour Python Remarque: configparser
Remarques sur l'utilisation de StatsModels qui peuvent utiliser la régression linéaire et GLM en python
J'ai essayé de [gratter] des images de mode et des phrases de texte avec Python.
Remarques sur tf.function et traçage
Encodage base64 des images en Python 3
Python sur Ruby et Ruby en colère sur Python
Remarques sur les * args et ** kargs
Lire et écrire des fichiers csv
Notes sur pyenv et Atom
[Python] Notes sur l'analyse des données
Remarques sur l'installation de Python sur votre Mac
Notes de lecture (en Python et Stan) pour une introduction à la modélisation statistique pour l'analyse de données (Midorimoto)
Pile et file d'attente en Python
Remarques sur le déploiement de pyenv avec Homebrew et la gestion des versions de Python
Remarques sur imshow () d'OpenCV
Remarques sur l'installation de Python sur CentOS
Comment installer OpenCV sur Cloud9 et l'exécuter en Python
uproot: bibliothèque basée sur Python / Numpy pour lire et écrire des fichiers ROOT
Reconnaissance des nombres dans les images avec Python
Manipulation des pixels d'image en Python
Paquets qui gèrent le MIDI avec Python midi et pretty_midi
Python 3.6 sous Windows ... et vers Xamarin.
Différence entre list () et [] en Python
Différence entre == et est en python
Afficher les photos en Python et html
Algorithme de tri et implémentation en Python
Notes de grammaire minimales pour écrire Python
Remarques sur l'utilisation de MeCab depuis Python
Manipuler des fichiers et des dossiers en Python
À propos de Python et Cython dtype
Remarques sur l'utilisation de la post-réception et de la post-fusion
Affectations et modifications des objets Python
Lier Modelica et Python sous Windows
Vérifiez et déplacez le répertoire en Python
Extraire du texte d'images avec Python
Chiffrement avec Python: IND-CCA2 et RSA-OAEP
Remarques sur l'installation de Python à l'aide de PyEnv
Hashing de données en R et Python
Synthèse de fonctions et application en Python