python将tif文件与图片转化

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")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空弹壳

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值