TIFF压缩

import PIL.ImageOps
from PIL import Image
import os
import cv2
import numpy as np
# from libtiff import TIFF


dir_ = 'C:\\Users\\pc\\Desktop\\6185-621-001\\6185-621-001-002'
for fl in os.listdir(dir_):
    name, ext = fl.split(".")
    # tif = TIFF.open(os.path.join(dir,fl), mode='r')
    # image = tif.read_image()
    # for image in tif.iter_images():  # do stuff with image
    #     tif = TIFF.open('D://'+name + ".tiff", mode='w')
    #     tif.write_image(image)

    with Image.open(os.path.join(dir_, fl)) as im:
        info = getattr(im, 'info', {
            'compression': 'jpeg', 'dpi': (300, 300)
        })
        nchannel = len(im.getbands())
        print(im.format)
    tag = True if nchannel == 1 else False
    im = cv2.imdecode(np.fromfile(os.path.join(dir_, fl), dtype=np.uint8), cv2.IMREAD_COLOR)
    im = Image.fromarray(cv2.cvtColor(im, cv2.COLOR_BGR2RGB))
    print(im.mode, im.getbands(), np.array(im).dtype)
    if nchannel == 1:
        ##im = im.convert('L')
        # im.save('D://' + name + "G.tiff", dpi=(300, 300), compression='tiff_deflate')
        # im = PIL.ImageOps.invert(im)
        im = im.convert("L")
        print(im.mode, im.getbands(), np.array(im).dtype)
        im.save('D://' + name + ".tiff", dpi=info['dpi'], compression='tiff_adobe_deflate')
    else:
        im.save('D://'+name + ".tiff", dpi=info['dpi'], quality=80, compression='jpeg')
    # print("Done '{}'".format(name))

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值