读写Netpbm文件
项目描述
Netpbmfile 是一个用于读取和写入 Netpbm 或相关格式的图像文件的 Python 库
PBM (可移植位图): P1 (文本) 和 P4 (二进制)
PGM (可移植灰度图): P2 (文本) 和 P5 (二进制)
PPM (可移植像素图): P3 (文本) 和 P6 (二进制)
PNM (可移植任意图): PBM、PGM 和 PPM 的总称
PAM (可移植任意图): P7、双值、灰度和 rgb
PGX (可移植灰度图有符号): PG、有符号灰度
PFM (可移植浮点图): Pf (灰度)、PF (rgb) 和 PF4 (rgba),只读
XV缩略图: P7 332 (rgb332),只读
Netpbm 格式在 https://netpbm.sourceforge.net/doc/ 中指定。
PGX 格式在 ITU-T Rec. T.803 中指定。
不执行伽玛校正或缩放。
- 作者::
- 许可证::
BSD 3-Clause
- 版本::
2024.5.24
快速入门
从 Python 包索引 安装 netpbmfile 包及其所有依赖项
python -m pip install -U "netpbmfile[all]"
请参阅 示例 了解如何使用编程接口。
源代码和支持在 GitHub 上可用。
要求
此版本已与以下要求和依赖项进行测试(其他版本可能也适用)
修订版
2024.5.24
修复了GitHub上文档字符串示例未正确渲染的问题。
2024.4.24
支持NumPy 2。
2023.8.30
修复代码风格问题。
添加py.typed标记。
2023.6.15
停止支持Python 3.8和numpy < 1.21(NEP29)。
改进类型提示。
2023.1.1
几个破坏性更改
将magicnum重命名为magicnumber(破坏性)。
将tupltypes重命名为tupltype(破坏性)。
将magicnumber和header属性更改为str(破坏性)。
将pam参数替换为magicnumber(破坏性)。
将byteorder参数从NetpbmFile.asarray移动到NetpbmFile(破坏性)。
修复多图像文件的shape和axes属性。
将maxval和tupltype参数添加到NetpbmFile.fromdata和imwrite。
添加将注释写入PNM和PAM文件的功能。
支持写入PGX和文本格式。
添加Google样式docstrings。
添加unittests。
2022.10.25
…
有关更早版本,请参阅CHANGES文件。
示例
将NumPy数组写入Netpbm文件为灰度二进制格式
>>> data = numpy.array([[0, 1], [65534, 65535]], dtype=numpy.uint16) >>> imwrite('_tmp.pgm', data)
从Netpbm文件读取图像数据作为NumPy数组
>>> image = imread('_tmp.pgm') >>> numpy.testing.assert_equal(image, data)
访问Netpbm文件的元数据和图像数据
>>> with NetpbmFile('_tmp.pgm') as pgm: ... pgm.magicnumber ... pgm.axes ... pgm.shape ... pgm.dtype ... pgm.maxval ... pgm.asarray().tolist() ... 'P5' 'YX' (2, 2) dtype('>u2') 65535 [[0, 1], [65534, 65535]]
从命令行查看Netpbm文件中的图像和元数据
$ python -m netpbmfile _tmp.pgm
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。