21.2. imageop —处理原始图像数据

自 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 乘以 height ,并由 psize *个字节的像素组成。 * x0 y0 x1 y1 类似于gl.lrectread()参数,即边界包含在新图像中。新的边界不必在图片内。落在旧图像之外的像素的值将设置为零。如果 x0 大于 x1 *,则将镜像新图像。 y 坐标也是如此。
  • imageop. scale(* image psize width height newwidth newheight *)

    • 返回* image pass newheight 缩放为大小 newwidth *。不进行内插,而是pass简单的像素复制或移除来完成缩放。因此,缩放后计算机生成的图像或抖动的图像看起来不会很好。
  • imageop. tovideo(* image psize width height *)

    • 对图像运行垂直低通滤波器。pass将每个目标像素计算为两个垂直对齐的源像素的平均值来实现。如果该图像显示在使用隔行扫描的视频设备上,则此例程的主要用途是防止过多的闪烁,因此也称为名称。
  • imageop. grey2mono(图像宽度高度阈值)

    • pass对所有像素进行阈值转换将 8 位深的灰度图像转换为 1 位深的图像。生成的图像紧紧包装,可能仅用作mono2grey()的参数。
  • imageop. dither2mono(图像宽度高度)

    • 使用(简单的)抖动算法将 8 位灰度图像转换为 1 位单色图像。
  • imageop. mono2grey(图像宽度高度,* p0 p1 *)

    • 将 1 位单色图像转换为 8 位灰度或彩色图像。所有在 Importing 上为零值的像素在输出上均获得值* p0 ,而所有单值 Importing 像素在输出上均获得值 p1 *。要将单色黑白图像转换为灰度,请分别传递值0255
  • imageop. grey2grey4(图像宽度高度)

    • 无需抖动即可将 8 位灰度图像转换为 4 位灰度图像。
  • imageop. grey2grey2(图像宽度高度)

    • 将 8 位灰度图像转换为 2 位灰度图像而无需抖动。
  • imageop. dither2grey2(图像宽度高度)

    • pass抖动将 8 位灰度图像转换为 2 位灰度图像。至于dither2mono(),抖动算法目前非常简单。
  • imageop. grey42grey(图像宽度高度)

    • 将 4 位灰度图像转换为 8 位灰度图像。
  • imageop. grey22grey(图像宽度高度)

    • 将 2 位灰度图像转换为 8 位灰度图像。
  • imageop. backward_compatible

    • 如果设置为 0,则此模块中的Function使用非向后兼容的方式表示小字节序系统上的多字节像素。最初为此模块编写的 SGI 是 big-endian 系统,因此设置此变量将无效。但是,该代码最初并不是要在其他任何代码上运行的,因此它对字节 Sequences 进行了假设,但这并不是通用的。将此变量设置为 0 将导致字节 Sequences 在小端系统上反转,因此与大端系统上的字节 Sequences 相同。