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'

将压缩图像的质量设置为 0100 之间的值(默认为 75)。 这只影响压缩。

'optimize'

执行霍夫曼表优化。 需要更长的时间,但会导致压缩图像更小。 这只影响压缩。

'smooth'

对未压缩的图像执行块间平滑。 仅对低质量图像有用。 这只影响解压。

也可以看看

JPEG 静止图像数据压缩标准
Pennebaker 和 Mitchell 提供的 JPEG 图像格式的规范参考。
信息技术 - 连续色调静止图像的数字压缩和编码 - 要求和指南
JPEG 的 ISO 标准也发布为 ITU T.81。 这可以在线获取 PDF 格式。