mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			86 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
\section{Built-in Module \sectcode{imageop}}
 | 
						|
\bimodindex{imageop}
 | 
						|
 | 
						|
The \code{imageop} module contains some useful operations on images.
 | 
						|
It operates on images consisting of 8 or 32 bit pixels
 | 
						|
stored in Python strings.  This is the same format as used
 | 
						|
by \code{gl.lrectwrite} and the \code{imgfile} module.
 | 
						|
 | 
						|
The module defines the following variables and functions:
 | 
						|
 | 
						|
\renewcommand{\indexsubitem}{(in module imageop)}
 | 
						|
 | 
						|
\begin{excdesc}{error}
 | 
						|
This exception is raised on all errors, such as unknown number of bits
 | 
						|
per pixel, etc.
 | 
						|
\end{excdesc}
 | 
						|
 | 
						|
 | 
						|
\begin{funcdesc}{crop}{image\, psize\, width\, height\, x0\, y0\, x1\, y1}
 | 
						|
Return the selected part of \var{image}, which should by
 | 
						|
\var{width} by \var{height} in size and consist of pixels of
 | 
						|
\var{psize} bytes. \var{x0}, \var{y0}, \var{x1} and \var{y1} are like
 | 
						|
the \code{lrectread} parameters, i.e.\ the boundary is included in the
 | 
						|
new image.  The new boundaries need not be inside the picture.  Pixels
 | 
						|
that fall outside the old image will have their value set to zero.  If
 | 
						|
\var{x0} is bigger than \var{x1} the new image is mirrored.  The same
 | 
						|
holds for the y coordinates.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{scale}{image\, psize\, width\, height\, newwidth\, newheight}
 | 
						|
Return \var{image} scaled to size \var{newwidth} by \var{newheight}.
 | 
						|
No interpolation is done, scaling is done by simple-minded pixel
 | 
						|
duplication or removal.  Therefore, computer-generated images or
 | 
						|
dithered images will not look nice after scaling.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{tovideo}{image\, psize\, width\, height}
 | 
						|
Run a vertical low-pass filter over an image.  It does so by computing
 | 
						|
each destination pixel as the average of two vertically-aligned source
 | 
						|
pixels.  The main use of this routine is to forestall excessive
 | 
						|
flicker if the image is displayed on a video device that uses
 | 
						|
interlacing, hence the name.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{grey2mono}{image\, width\, height\, threshold}
 | 
						|
Convert a 8-bit deep greyscale image to a 1-bit deep image by
 | 
						|
tresholding all the pixels.  The resulting image is tightly packed and
 | 
						|
is probably only useful as an argument to \code{mono2grey}.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{dither2mono}{image\, width\, height}
 | 
						|
Convert an 8-bit greyscale image to a 1-bit monochrome image using a
 | 
						|
(simple-minded) dithering algorithm.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{mono2grey}{image\, width\, height\, p0\, p1}
 | 
						|
Convert a 1-bit monochrome image to an 8 bit greyscale or color image.
 | 
						|
All pixels that are zero-valued on input get value \var{p0} on output
 | 
						|
and all one-value input pixels get value \var{p1} on output.  To
 | 
						|
convert a monochrome black-and-white image to greyscale pass the
 | 
						|
values \code{0} and \code{255} respectively.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{grey2grey4}{image\, width\, height}
 | 
						|
Convert an 8-bit greyscale image to a 4-bit greyscale image without
 | 
						|
dithering.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{grey2grey2}{image\, width\, height}
 | 
						|
Convert an 8-bit greyscale image to a 2-bit greyscale image without
 | 
						|
dithering.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{dither2grey2}{image\, width\, height}
 | 
						|
Convert an 8-bit greyscale image to a 2-bit greyscale image with
 | 
						|
dithering.  As for \code{dither2mono}, the dithering algorithm is
 | 
						|
currently very simple.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{grey42grey}{image\, width\, height}
 | 
						|
Convert a 4-bit greyscale image to an 8-bit greyscale image.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
\begin{funcdesc}{grey22grey}{image\, width\, height}
 | 
						|
Convert a 2-bit greyscale image to an 8-bit greyscale image.
 | 
						|
\end{funcdesc}
 |