python 三维数组 存为tiff_浅谈python下tiff图像的读取和保存方法

本文对比了scipy.misc、PIL.Image和libtiff.TIFF库在读取和保存TIFF图像时的行为,探讨了不同数据类型的处理,包括uint8、uint16和float32。还讨论了图像归一化后的存储问题,并展示了如何读取和保存多帧TIFF图像。
摘要由CSDN通过智能技术生成

对比测试 scipy.misc和 PIL.Image和 libtiff.TIFF三个库

输入:

1. (读取矩阵) 读入uint8、uint16、float32的lena.tif

2. (生成矩阵) 使用numpy产生随机矩阵,float64的mat

import numpy as np

from scipy import misc

from PIL import Image

from libtiff import TIFF

#

# 读入已有图像,数据类型和原图像一致

tif32 = misc.imread('.\test\lena32.tif') #

tif16 = misc.imread('.\test\lena16.tif') #

tif8 = misc.imread('.\test\lena8.tif') #

# 产生随机矩阵,数据类型float64

np.random.seed(12345)

flt = np.random.randn(512, 512) #

# 转换float64矩阵type,为后面作测试

z8 = (flt.astype(np.uint8)) #

z16 = (flt.astype(np.uint16)) #

z32 = (flt.astype(np.float32)) #

①对读取图像和随机矩阵的存储

# scipy.misc『不论输入数据是何类型,输出图像均为uint8』

misc.imsave('.\test\lena32_scipy.tif', tif32) #--> 8bit(tif16和tif8同)</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值