2017-03-31 1 views
0

J'essaie de comprendre une erreur avec un script. J'ai hérité du script d'un collègue et j'essaie de le faire fonctionner sur ma machine. Je l'exécute dans Python3.3.5 et si préforme certaines fonctions de mesure sur .tif fichiers. Ce sont la liste des modules que j'appelleio.impris en lisant certains fichiers .tif mais pas d'autres

import matplotlib, copy, skimage, mahotas, os, tifffile 
from skimage import io, filter, morphology, draw 
import matplotlib.pyplot as plt 
import numpy as np 
from PIL import Image 

Les ruptures de script et renvoie une erreur à la ligne appelant la fonction io.imread sur mon désir .tif fichiers. Cependant, lorsque je change le script pour ouvrir un autre chemin de fichier image tif, cela fonctionne. Je n'ai pas inclus mon code, car il semble que ce soit un problème avec mon installation python? Je reçois plus d'erreurs quand j'essaye de lancer ceci avec Python27. Ce pourrait être des incompatibilités avec les modules que j'utilise? Quelqu'un a-t-il des indices sur ce qui pourrait faire que io.imread fonctionne sur certains fichiers image mais pas sur d'autres? La seule différence que je peux penser entre les fichiers d'image est la taille.

Répondre

1

Je l'ai compris. La fonction skimage fonctionne pour les fichiers image 8 bits, alors que mes fichiers sont en 16 bits. Modification de l'objet d'image à partir de

io.imread() 

à la fonction de tifffile

tiff.imread() 

permis toutes mes images 16 bits à traiter. Une erreur de débutant, mais il m'a fallu un peu de mémoire pour me souvenir de ces différences entre les fonctions de la bibliothèque.