我需要一个 python 方法来打开 TIFF 图像并将其导入到 numpy 数组中,这样我就可以分析和修改像素数据,然后再次将它们保存为 TIFF。 (它们基本上是灰度的光强度图,代表每个像素的相应值)
我找不到有关 TIFF 的 PIL 方法的任何文档。我试图弄清楚,但只有“错误模式”或“不支持文件类型”错误。
我需要在这里使用什么?
原文由 Jakob 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要一个 python 方法来打开 TIFF 图像并将其导入到 numpy 数组中,这样我就可以分析和修改像素数据,然后再次将它们保存为 TIFF。 (它们基本上是灰度的光强度图,代表每个像素的相应值)
我找不到有关 TIFF 的 PIL 方法的任何文档。我试图弄清楚,但只有“错误模式”或“不支持文件类型”错误。
我需要在这里使用什么?
原文由 Jakob 发布,翻译遵循 CC BY-SA 4.0 许可协议
我使用 matplotlib 读取 TIFF 文件:
import matplotlib.pyplot as plt
I = plt.imread(tiff_file)
和 I
将是类型 ndarray
。
根据文档,虽然在处理 TIFF 时实际上是 PIL 在幕后工作,因为 matplotlib 仅本地读取 PNG,但这对我来说一直很好。
还有一个 plt.imsave
保存功能。
原文由 Michael Brennan 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
首先,我从 该页面 下载了一个名为
a_image.tif
的测试 TIFF 图像。然后我像这样用 PIL 打开:这显示了彩虹图像。要转换为 numpy 数组,它很简单:
我们可以看到图像的大小和数组的形状匹配:
并且该数组包含
uint8
值:完成对数组的修改后,您可以将其转回 PIL 图像,如下所示: