21.2. imageop — 操作原始图像数据 — Python 文档

来自菜鸟教程
Python/docs/2.7/library/imageop
跳转至:导航、​搜索

21.2. 图像操作 — 处理原始图像数据

自 2.6 版起已弃用:imageop 模块已在 Python 3 中删除。


imageop 模块包含一些对图像有用的操作。 它对由存储在 Python 字符串中的 8 位或 32 位像素组成的图像进行操作。 这与 gl.lrectwrite()imgfile 模块使用的格式相同。

该模块定义了以下变量和函数:

exception imageop.error
所有错误都会引发此异常,例如每像素的位数未知等。
imageop.crop(image, psize, width, height, x0, y0, x1, y1)
返回 image 的选定部分,其大小应为 width x height,由 psize 字节的像素组成。 x0, y0, x1y1 类似于 gl.lrectread() 参数,即 边界包含在新图像中。 新边界不必在图片内部。 旧图像之外的像素将其值设置为零。 如果 x0 大于 x1,则镜像新图像。 这同样适用于 y 坐标。
imageop.scale(image, psize, width, height, newwidth, newheight)
返回按 newheight 缩放到大小 newwidthimage。 没有进行插值,缩放是通过简单的像素复制或删除来完成的。 因此,计算机生成的图像或抖动的图像在缩放后看起来不太好看。
imageop.tovideo(image, psize, width, height)
在图像上运行垂直低通滤波器。 它通过将每个目标像素计算为两个垂直对齐的源像素的平均值来实现。 如果图像显示在使用隔行扫描的视频设备上,则此例程的主要用途是防止过度闪烁,因此得名。
imageop.grey2mono(image, width, height, threshold)
通过对所有像素进行阈值处理,将 8 位深灰度图像转换为 1 位深图像。 生成的图像是紧密打包的,可能仅用作 mono2grey() 的参数。
imageop.dither2mono(image, width, height)
使用(简单的)抖动算法将 8 位灰度图像转换为 1 位单色图像。
imageop.mono2grey(image, width, height, p0, p1)
将 1 位单色图像转换为 8 位灰度或彩色图像。 所有输入为零值的像素在输出上获得值 p0,所有单值输入像素在输出上获得值 p1。 要将单色黑白图像转换为灰度,分别传递值 0255
imageop.grey2grey4(image, width, height)
将 8 位灰度图像转换为 4 位灰度图像而无需抖动。
imageop.grey2grey2(image, width, height)
在不抖动的情况下将 8 位灰度图像转换为 2 位灰度图像。
imageop.dither2grey2(image, width, height)
使用抖动将 8 位灰度图像转换为 2 位灰度图像。 至于dither2mono(),目前抖动算法非常简单。
imageop.grey42grey(image, width, height)
将 4 位灰度图像转换为 8 位灰度图像。
imageop.grey22grey(image, width, height)
将 2 位灰度图像转换为 8 位灰度图像。
imageop.backward_compatible
如果设置为 0,则此模块中的函数使用非向后兼容方式在 little-endian 系统上表示多字节像素。 该模块最初为其编写的 SGI 是一个 big-endian 系统,因此设置此变量将不起作用。 但是,该代码最初并不打算在其他任何东西上运行,因此它对不通用的字节顺序做出了假设。 将此变量设置为 0 将导致小端系统上的字节顺序颠倒,因此它与大端系统上的相同。