【记录】使用Python读取Tiff图像的几种方法

文章目录

本文总结了使用 PIL Image, cv2, gdal.Open三种python package 读取多通道Tiff格式遥感影像的方法。

PIL.Image

PIL对Tiff只支持两种格式的图像:

  1. 多通道8bit图像
  2. 单通道int16, int32, float32图像

多通道多bit的tiff图像PIL不支持读取。

python 复制代码
file = Image.open(tiff_file))
# 也可以读取之后进行格式转换:
img = np.array(Image.open(tiff_file)).astype(np.float32)

cv2

cv2的读取可以选择一下几种类型:

python 复制代码
img = cv2.imread(tiff_file, arg)
# arg = -1: 8bit原通道
# arg = 2: 原深度单通道
# arg = 3: 原深度三通道

gdal

python 复制代码
from osgeo import gdal
img = gdal.Open(tiff_file)
# 查看通道数
img.RasterCount

# 读取至数组格式
img = img.ReadAsArray()
print(img.shape) > 会得到(channel, height, widht)
img = img.transpose(1,2,0) > 得到(height, width, channel)

print(np.array(img).dtype)

img = np.array(img, dtype = np.uint16)
相关推荐
天天进步20159 小时前
Python全栈项目--Python自动化运维工具开发
运维·python·自动化
(●—●)橘子……9 小时前
力扣第503场周赛练习理解
python·学习·算法·leetcode·职场和发展·周赛
爱吃羊的老虎10 小时前
【JAVA】python转java:Spring Boot 入门
java·spring boot·python
OpenBayes贝式计算10 小时前
端侧同尺寸 SOTA:OpenBMB 发布 1B 参数模型 MiniCPM5-1B;集成多级平行语料与多语言词典:SMOL 翻译数据集开源
计算机视觉·google·nvidia
小桥流水---人工智能10 小时前
【已解决】ImportError: cannot import name ‘AdamW‘ from ‘transformers.optimization‘
python
OpenBayes贝式计算10 小时前
教程上新丨英伟达开源 LocateAnything,3B 模型可实现图像 + 视频的目标指向 / 开放词汇目标检测/指代表达定位 / OCR 文本定位等功能
计算机视觉·agent·nvidia
芝麻开门GEO10 小时前
泰安GEO优化服务,真的能提升效果吗?
人工智能·python
颜酱11 小时前
选读:工业级调用 LangChain:从 Demo 到企业级应用
python
颜酱11 小时前
LangChain 调用大模型实战:从跑通到服务商与模型选型
python·langchain
唐装鼠12 小时前
Nginx + Gunicorn + Python Web 应用 架构(Claude)
python·nginx·gunicorn