python另存为_python-将原始数据另存为tif

这篇博客讲述了如何在Python中将图像的子矩阵另存为无多余装饰的TIFF文件,避免缩放、轴和标签等。推荐使用PIL库来直接保存原始数据,同时解释了matplotlib在保存图像时的像素和dpi设置问题。
摘要由CSDN通过智能技术生成

我需要分析在tif文件中选择为子矩阵的图像的一部分.我希望图像具有原始格式,没有多余的装饰(缩放,轴,标签等)…我该怎么做?

这是我现在使用的代码:

submatrix = im[x_min:x_max, y_min:y_max]

plt.imshow(submatrix)

plt.savefig("subplot_%03i_%03i.tif" % (index, peak_number), format = "tif")

解决方法:

首先,如果您只想存储原始值或原始值的灰度表示形式,则最简单的方法是使用PIL.

例如,这将生成一个10×10灰度tif文件:

import numpy as np

import Image

data = np.random.randint(0, 255, (10,10)).astype(np.uint8)

im = Image.fromarray(data)

im.save('test.tif')

至于您关于matplotlib版本为何具有更多像素的问题,这是因为您暗中告诉了它. Matplotlib图形具有大小(以英寸为单位)和dpi(默认情况下,屏幕上为80,保存时为100).另外,默认情况下,imshow将对数组中的值进行插值,即使将插值设置为最接近,保存的图像仍将是为图形指定的尺寸.

如果要使用matplotlib将图形保存为一个值到一个像素(例如,为了轻松使用颜色图),请执行以下操作:

import numpy as np

import matplotlib.pyplot as plt

dpi = 80 # Arbitrary. The number of pixels in the image will always be identical

data = np.random.rand

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值