1.tif文件转图片
# Author : yyzhang
from PIL import Image
import os
path = r"C:\Users\tif"
tif_list = os.listdir(path)
save_path = r"C:\Users\\tif_pic"
for tif in tif_list:
tif_name = os.path.splitext(tif)[0]
tif_path = os.path.join(path, tif)
cprealDir = os.path.join(save_path, tif_name)
if os.path.exists(cprealDir):
pass
else:
os.makedirs(cprealDir)
img = Image.open(tif_path)
# print(len(img.seek()))
# print(img)
for i in range(100):
try:
img.seek(i)
img.save(os.path.join(cprealDir, 'page_%s.png' % (i,)))
except EOFError:
break
2.图片合成tif文件
import os
pic_path = r"C:\Users\newpic"
pic_list = os.listdir(pic_path)
from PIL import Image
import tifffile
import numpy
def PIL2array(img):
return numpy.array(img.getdata(),
numpy.uint8).reshape(img.size[1], img.size[0], 3)
FRAMES = []
FIRST_SIZE = None
OUT_NAME = "test.tiff"
filelist = os.listdir(pic_path)
filelist=sorted(filelist,key=lambda x: int(x.split(".")[0]))
for fn in filelist:
fn=os.path.join(pic_path,fn)
img = Image.open(fn)
if img.size:
print ("Adding:", fn)
FRAMES.append(img)
else:
print ("Discard:", fn, img.size, "<>", FIRST_SIZE)
print("Writing", len(FRAMES), "frames to", OUT_NAME)
with tifffile.TiffWriter(OUT_NAME) as tiff:
for img in FRAMES:
tiff.save(PIL2array(img), compress=6)
print("Done")