bundles / skimage 0.26.1rc0.dev0+git20260530.b607368ff / skimage / filters / edges / prewitt
function
skimage.filters.edges:prewitt
source: /dev/scikit-image/src/skimage/filters/edges.py :447
Signature
def prewitt ( image , mask = None , * , axis = None , mode = reflect , cval = 0.0 ) Summary
Find the edge magnitude using the Prewitt transform.
Parameters
image: arrayThe input image.
mask: array of bool, optionalClip the output image to this mask. (Values where mask=0 will be set to 0.)
axis: int or sequence of int, optionalCompute the edge filter along this axis. If not provided, the edge magnitude is computed. This is defined as
prw_mag = np.sqrt(sum([prewitt(image, axis=i)**2 for i in range(image.ndim)]) / image.ndim)
The magnitude is also computed if axis is a sequence.
mode: str or sequence of str, optionalThe boundary mode for the convolution. See scipy.ndimage.convolve for a description of the modes. This can be either a single boundary mode or one boundary mode per axis.
cval: float, optionalWhen
modeis'constant', this is the constant used in values outside the boundary of the image data.
Returns
output: array of floatThe Prewitt edge map.
Notes
The edge magnitude depends slightly on edge directions, since the approximation of the gradient operator by the Prewitt operator is not completely rotation invariant. For a better rotation invariance, the Scharr operator should be used. The Sobel operator has a better rotation invariance than the Prewitt operator, but a worse rotation invariance than the Scharr operator.
Examples
from skimage import data from skimage import filters camera = data.camera() edges = filters.prewitt(camera)✓
See also
Aliases
-
skimage.filters.prewitt