python – “I; 16”图像文件的numpy.array
发布时间:2020-12-30 19:28:53 所属栏目:Python 来源:互联网
导读:我想使用TIFF图像有效地保存大量的测量数据.将它们设置为mode =“I; 16”(对应于我的16位数据范围),它们产生2MB文件(~1000×1000“像素”).这很好. 但是,在分析它们时,我遇到了将它们重新转换为数组的麻烦.对于32位数据( – “I”),numpy.array命令工作正常.
我想使用TIFF图像有效地保存大量的测量数据.将它们设置为mode =“I; 16”(对应于我的16位数据范围),它们产生2MB文件(~1000×1000“像素”).这很好. 但是,在分析它们时,我遇到了将它们重新转换为数组的麻烦.对于32位数据( – >“I”),numpy.array命令工作正常.在“I; 16”的情况下,结果是0D numpy数组,其中TIFF为[0,0]条目. 有没有办法让它工作?我真的想避免使用32位图像,因为我不需要该范围,它可以将所需的硬盘空间加倍(计划中有很多很多测量…) 解决方法这应该工作(枕头/ PIL解决方案,16位图像慢,见下文).from PIL import Image import numpy as np data = np.random.randint(0,2**16-1,(1000,1000)) im = Image.fromarray(data) im.save('test.tif') im2 = Image.open('test.tif') data2 = np.array(im2.getdata()).reshape(im2.size[::-1]) 使用tifffile by C. Gohlke的另一种解决方案(非常快): import tifffile fp = r'pathtoimageimage.tif' with tifffile.TIFFfile(fp) as tif: data = tif.asarray() (编辑:台州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Python中存储三角形/六边形网格的最佳方法
- 什么是Perlbrew的Python等价物?
- python – 用ElementTree写入带有utf-8数据的xml utf-8文件
- python – 用py2exe创建的可执行文件不能在windows xp 32bi
- python – 如何使员工可以访问Django设置?
- .net – 一旦线程启动,我应该保持对线程的引用吗?
- python – 为什么pow(x,y)的时间复杂度为O(1),而x ** y为O(
- Django Rest Framework上的全文搜索仅支持MYSQL?
- python基于multiprocessing的多进程创建方法
- python – tkinter中的标签宽度
推荐文章
站长推荐
热点阅读