【记录】使用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)
相关推荐
开源情报局18 小时前
79%的企业在用AI Agent,但只有2%规模化落地——问题出在哪?
人工智能·python
算法与双吉汉堡18 小时前
【Nanobot项目笔记】项目架构
python·ai·agent·智能体
hhzz18 小时前
(深度学习/计算机视觉)手把手教你从零部署YOLOv8目标检测算法-----环境安装(1/4)
深度学习·yolo·计算机视觉
knight_9___18 小时前
LLM工具调用面试篇6
人工智能·python·面试·职场和发展·llm·agent
用户39626910600318 小时前
asyncio + subprocess:Python异步调用外部命令踩坑实录
python
AI砖家19 小时前
Claude Code Superpowers 安装使用指南:让 AI 编程从“业余”走向“工程化”
前端·人工智能·python·ai编程·代码规范
计算机毕业编程指导师19 小时前
【计算机毕设推荐】Python+Spark卵巢癌风险数据可视化系统完整实现 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
hadoop·python·计算机·数据挖掘·spark·毕业设计·卵巢癌
玩转单片机与嵌入式19 小时前
学习嵌入式AI(TInyML),只需掌握这点python基础即可!
人工智能·python·学习
少年执笔19 小时前
ollama搭建本地模型框架
python·ai