2017-03-31 1 views
0

스크립트의 오류를 이해하려고합니다. 나는 동료로부터 스크립트를 물려 받았고 내 컴퓨터에서 작동하도록하려고합니다. Python3.3.5에서 실행 중이며 if는 .tif 파일에서 일부 측정 기능을 수행합니다. 이 모듈의 목록은 내가io.imread 일부 .tif 파일을 읽지 만 다른 파일은 읽지 않습니다.

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 

스크립트 나누기를 호출하고 내 욕망 이 .tif 파일에 대한 io.imread 함수를 호출 라인에서 오류가 발생합니다.

‘OSError: cannot identify image file’ 

그러나 다른 tif 이미지 파일 경로를 열도록 스크립트를 변경하면 작동합니다. 내 파이썬 설치 문제가있는 것 때문에 내 코드를 포함하지 않은? Python27에서이 코드를 실행하려고하면 더 많은 오류가 발생합니다. 사용중인 모듈과 호환되지 않을 수 있습니다. 누군가 io.imf가 일부 이미지 파일에서는 작동하지만 다른 파일에서는 작동하지 않을 수있는 단서가 있습니까? 이미지 파일간에 생각할 수있는 유일한 차이점은 크기입니다.

답변

1

나는 그것을 알아 냈다. skimage 함수는 8 비트 이미지 파일에서 작동하는 반면, 내 이미지 파일에서는 16 비트를 사용합니다. 제 16 비트 이미지를 모두 허용 tifffile 함수

tiff.imread() 

io.imread() 

에서 이미지 객체를 변경 처리한다. 초보자의 실수이지만, 라이브러리 기능 간의 차이점을 기억하기에는 다소 시간이 걸립니다.

관련 문제