Bonjour les gens,
J'essaye de lire un tif avec libtiff (4.0.3, compilé sous visual studio avec le nmake) ,
J'ai deux images de tests (produites par deux systèmes différents) sur le premier système j'arrive à ouvrir l'image pas de soucis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TIFF *tif=TIFFOpen(thefile.c_str(), "r");
par contre sur le second système :
j'ai droit à une erreur
Selon la doc de libtiffTIFFReadDirectoryCheckOrder: Warning, Invalid TIFF directory; tags are not sorted in ascending order.
l'erreur est Fatale
Mon image tif n'est pas corrompue, j'arrive à l'ouvrir dans imageJ et TifTagViewer et à ma connaissance on est à la version 6 de la norme tif donc peu mieux faire.Envoyé par doc libtiff
D'où mes questions
- QUelqu'un'a t'il déjà résolu ce problème, est-ce qu'il y aune solution simple (genre un flag de compilation de libtiff, ou une autre fonction que TiffOpen ? )
- Y a t'il une version plus récente de libtiff, la 4.0.3 a été mise à jours en 2012, et le site remote sensing n'a pas l'air très à jours. SI oui cette version sait elle lire des tifs récents
- Je veux garder une dépendance minimale à des bibliothèques externes (Licence, Lourdeurs du code etc...) donc exit ITK/OpenCV etc... est-ce qu'il y a une autre solution pour lire des images tifs sans se tapper une implémentation complète de la norme tif ?
Merci pour vos réponses
EDIT
Précision bonus, le premier tif que j'arrive à lire est 16 bit, celui que je n'arrive pas à lire est en 32 bits
Partager