39.12. jpeg — 读取和写入 JPEG 文件 — Python 文档
来自菜鸟教程
Python/docs/2.7/library/jpeg
39.12. JPEG格式 — 读取和写入 JPEG 文件
自 2.6 版起已弃用:jpeg 模块已在 Python 3 中删除。
模块 jpeg 提供对独立 JPEG 组 (IJG) 编写的 jpeg 压缩器和解压缩器的访问。 JPEG 是压缩图片的标准; 它在 ISO 10918 中定义。 有关 JPEG 或 Independent JPEG Group 软件的详细信息,请参阅 JPEG 标准或随软件提供的文档。
Fredrik Lundh 的 Python Imaging Library (PIL) 提供了 JPEG 图像文件的可移植接口。 有关 PIL 的信息可在 http://www.pythonware.com/products/pil/ 获得。
jpeg 模块定义了一个异常和一些函数。
- exception jpeg.error
- compress() 和 decompress() 出现错误时引发的异常。
- jpeg.compress(data, w, h, b)
- 将数据视为宽度 w 和高度 h 的像素图,每个像素有 b 个字节。 数据按 SGI GL 顺序排列,因此第一个像素位于左下角。 这意味着
gl.lrectread()
返回数据可以立即传递给 compress()。 目前只允许 1 字节和 4 字节像素,前者被视为灰度,后者被视为 RGB 颜色。 compress() 以 JFIF 格式返回包含压缩图片的字符串。
- jpeg.decompress(data)
- 数据是包含 JFIF 格式图片的字符串。 它返回一个元组
(data, width, height, bytesperpixel)
。 同样,数据适合传递给gl.lrectwrite()
。
- jpeg.setoption(name, value)
设置各种选项。 随后的 compress() 和 decompress() 调用将使用这些选项。 以下选项可用:
选项
影响
'forcegray'
强制输出为灰度,即使输入是 RGB。
'quality'
将压缩图像的质量设置为
0
和100
之间的值(默认为75
)。 这只影响压缩。'optimize'
执行霍夫曼表优化。 需要更长的时间,但会导致压缩图像更小。 这只影响压缩。
'smooth'
对未压缩的图像执行块间平滑。 仅对低质量图像有用。 这只影响解压。
也可以看看
- JPEG 静止图像数据压缩标准
- Pennebaker 和 Mitchell 提供的 JPEG 图像格式的规范参考。
- 信息技术 - 连续色调静止图像的数字压缩和编码 - 要求和指南
- JPEG 的 ISO 标准也发布为 ITU T.81。 这可以在线获取 PDF 格式。