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.
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).
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