永发信息网

如何用python读取和写入TIFF文件1

答案:2  悬赏:40  手机版
解决时间 2021-03-14 23:01
  • 提问者网友:难遇难求
  • 2021-03-14 04:12
如何用python读取和写入TIFF文件1
最佳答案
  • 五星知识达人网友:孤老序
  • 2021-03-14 04:56
用Python读取TIFF文件,可采用以下代码

framedim = [2048,2048]

nb_elem = framedim[0]*framedim[1]

offset = 4096

formatdata = np.uint16

f = open(path, 'rb')

f.seek(offset)#TODO: only header size for tiff !!

d = np.fromfile(f, dtype=formatdata, count=nb_elem).reshape(framedim)

写入TIFF文件,则需要pylibtiff库

例如

from libtiff import TIFF

tif = TIFF.open(path, 'w')

tif.write_image(image)

image为二维ndarray
全部回答
  • 1楼网友:低血压的长颈鹿
  • 2021-03-14 05:51
python读写文件 1.open 使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。 file_object = open('thefile.txt') try: all_the_text = file_object.read( ) finally: file_object.close( ) 注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。 2.读文件 读文本文件 input = open('data', 'r') #第二个参数默认为r input = open('data') 读二进制文件 input = open('data', 'rb') 读取所有内容 file_object = open('thefile.txt') try: all_the_text = file_object.read( ) finally: file_object.close( ) 读固定字节 file_object = open('abinfile', 'rb') try: while true: chunk = file_object.read(100) if not chunk: break do_something_with(chunk) finally: file_object.close( ) 读每行 list_of_all_the_lines = file_object.readlines( ) 如果文件是文本文件,还可以直接遍历文件对象获取每行: for line in file_object: process line 3.写文件 写文本文件 output = open('data', 'w') 写二进制文件 output = open('data', 'wb') 追加写文件 output = open('data', 'w+') 写数据 file_object = open('thefile.txt', 'w') file_object.write(all_the_text) file_object.close( ) 写入多行 file_object.writelines(list_of_text_strings) 注意,调用writelines写入多行在性能上会比使用write一次性写入要高。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯