天天看点

【python图像处理】tiff文件的保存与解析

【python图像处理】tiff文件的保存与解析

tiff文件是一种常用的图像文件格式,支持将多幅图像保存到一个文件中,极大得方便了图像的保存和处理。python中支持tiff文件处理的是libtiff模块中的TIFF类(libtiff下载链接https://pypi.python.org/pypi/libtiff/)。

这里主要介绍tiff文件的解析和保存,具体见如下代码:

<b>[python]</b> view plain copy

from libtiff import TIFF

from scipy import misc

##tiff文件解析成图像序列

##tiff_image_name: tiff文件名;

##out_folder:保存图像序列的文件夹

##out_type:保存图像的类型,如.jpg、.png、.bmp等

def tiff_to_image_array(tiff_image_name, out_folder, out_type):

    tif = TIFF.open(tiff_image_name, mode = "r")

    idx = 0

    for im in list(tif.iter_images()):

        #

        im_name = out_folder + str(idx) + out_type

        misc.imsave(im_name, im)

        print im_name, 'successfully saved!!!'

        idx = idx + 1

    return

##图像序列保存成tiff文件

##image_dir:图像序列所在文件夹

##file_name:要保存的tiff文件名

##image_type:图像序列的类型

##image_num:要保存的图像数目

def image_array_to_tiff(image_dir, file_name, image_type, image_num):

    out_tiff = TIFF.open(file_name, mode = 'w')

    #这里假定图像名按序号排列

    for i in range(0, image_num):

        image_name = image_dir + str(i) + image_type

        image_array = Image.open(image_name)

        #缩放成统一尺寸

        img = image_array.resize((480, 480), Image.ANTIALIAS)

        out_tiff.write_image(img, compression = None, write_rgb = True)

    out_tiff.close()

继续阅读