【笔记】高分卫星影像 TIF 切片处理

最近处理高分卫星影像的瓦片切割,记录几个实用的点。

TIF 分页

TIF 内部是分页结构,一个文件里可以放多张图。GeoTIFF 如果带金字塔(Overview),pages[0] 是分辨率最高的原图,后面依次是降采样层。读取时注意取对页。

读取:tifffile + zarr

tifffile 打开 TIF 后,如果文件没有压缩,可以直接用 memmap 做内存映射读取,效率最高。但如果 TIF 带压缩(LZW、Deflate 等),memmap 无法使用,这时通过 zarr 接口按块读取是比较好的替代方案,不需要把整个影像加载到内存。zarr 返回的是数组接口,做多线程并行切块也比较方便,不用自己管文件指针的偏移。

输出:turbojpeg

瓦片 JPEG 编码用 turbojpeg,比 Pillow 和 OpenCV 快。

uint16 拉伸:2%-98% 分位

高分影像是 uint16,直接线性映射到 0-255 效果不好,极值噪点会把整体压暗。实际做法是取全图 2% 和 98% 分位值做线性拉伸,再 clip 到 0, 255分位值要在全图级别统一计算,逐块算会导致色彩不一致。

判空:综合 0 和 65535

普通 TIF 判空看全黑就行,高分影像的无效区域可能是 0 也可能是 65535。另外第四通道不一定是 Alpha,很可能是 NIR 近红外,不能当透明度用。判空要同时考虑全通道 0 值和 65535 值。

通道顺序:按波段组合重排

高分影像的波段排列和显示顺序不是一回事:

  • 真彩色:B3-B2-B1 对应 R-G-B
  • 标准假彩色:B4-B3-B2 对应 R-G-B

输出 JPEG 前需要按需求重排通道,直接取前三个波段颜色多半是错的。

相关推荐
闪闪发亮的小星星3 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq3 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
阿米亚波3 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
自传.3 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
.千余3 天前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
自传.3 天前
尚硅谷 Vibe Coding|第二章 AI编程工具生态 学习笔记
笔记·学习·ai编程·尚硅谷·vibe coding
秋波。未央3 天前
Java Agent 开发 · Day 1 学习笔记(含作业完整标准答案)
java·笔记·学习
中屹指纹浏览器3 天前
2026指纹浏览器字体指纹、字体渲染偏差检测与全维度虚拟字体池搭建方案
经验分享·笔记
影寂ldy3 天前
WinForm PictureBox控件 + ImageList组件 完整笔记
开发语言·笔记·swift