我目前正在为波士顿的光子学实验室编写代码,最近遇到了使用tiff图像的问题。基本上,该公司的实验室在一个文件名下返回一个包含4个图像堆栈的Tiff图像,我不确定如何让python一次读取一个堆叠图像。
对于我使用的代码(粘贴在下面),我已经用不同的名称手动保存每个图像,并将其作为名称列表读取。是否有一个我错过的python库或命令会识别堆栈而不需要我这样做?
def Image_Processing(img_list, wave_list):
counter = 0
r_final = []
#for loop where I read in an image at a time from the img_list
for i in img_list:
#this is just image processing crap
Im = plt.imread(i)
#print(Im.shape,Im[0,0])
Dim_List = []
Bright_List = []
Imarray = np.array(Im)
for line in Imarray:
for pixel in line:
if pixel <= 20000:
Dim_List.append(pixel)
if pixel > 20000:
Bright_List.append(pixel)
d = np.mean(Dim_List)
b = np.mean(Bright_List)
r_final.append((d/b)*wave_list[counter])
counter += 1
print(r_final)
Image_Processing(['fourColor-0001.tif', 'fourColor-0002.tif', 'fourColor-0003.tif', 'fourColor-0004.tif'], [.453,.523,.597,.636])