批量将tif格式的图片转化成jpg格式
2018-10-16 本文已影响0人
wenyilab
什么是TIFF格式图片?
标签图像文件格式(Tag Image File Format,简写为TIFF),是一种灵活的位图格式,主要用来存储包括照片和艺术图在内的图像。它最初由Aldus公司与微软公司一起为PostScript打印开发。TIFF与JPEG和PNG一起成为高位彩图格式。TIFF格式在业界得到了广泛的支持,如Adobe公司的Photoshop、The GIMP Team的GIMP、Ulead PhotoImpact和Paint Shop Pro等图像处理应用、QuarkXPress和Adobe InDesign这样的桌面印刷和页面排版应用,扫描、传真、文字处理、光学字符识别和其他一些应用都支持这种格式。(摘自百度百科)
TIFF图片与其他格式图片的区别
TIFF图像与其他文件格式最大的不同在于除了图像数据,它还可以记录很多图像的其他信息。它记录图像数据的方式也比较灵活,理论上讲,任何图像格式都能为TIFF所用,嵌入到TIFF里面。由于它的扩展性,TIFF在数字影像、遥感、医学领域中得到了广泛应用。
TIFF文件结构
TIFF文件中的三个关键词是:图像文件头Image File Header(IFH),图像文件目录Image File Directory(IFD)和目录项Directory Entry(DE)。每一幅图像都是以8字节的IFH开始的,这个IFH指向了第一个IFD。IFD包含了图像的各种信息,同时也包含了一个指向实际图像数据的指针。
因为目前较为流行的图像是JPEG,PNG格式的图像,当我们得到tiff图像时会给我们的处理带来不便(如使用opencv来读取tiff,只能读取出灰度图,导致后续处理不便),所以我们需要先将tiff图像转换成其他格式的图像,下面就是转换的代码:
import os
from libtiff import TIFF
from scipy import misc
original_path = ''
saved_path = ''
files = os.listdir(original_path)
for file in files:
tif = TIFF.open(original_path+file,mode = 'r')
for im in list(tf.iter_images()):
new_path = saved_path + file[:-3] + 'jpg'
misc.imsave(new_path,im)
print(new_path,'successfully saved!!!')