prewitt_dirprewitt_dirPrewittDirPrewittDirprewitt_dir (算子)

名称

prewitt_dirprewitt_dirPrewittDirPrewittDirprewitt_dir — 使用普瑞维(Prewitt)算子检测边缘(振幅和方向)。

签名

prewitt_dir(Image : ImageEdgeAmp, ImageEdgeDir : : )

Herror prewitt_dir(const Hobject Image, Hobject* ImageEdgeAmp, Hobject* ImageEdgeDir)

Herror T_prewitt_dir(const Hobject Image, Hobject* ImageEdgeAmp, Hobject* ImageEdgeDir)

void PrewittDir(const HObject& Image, HObject* ImageEdgeAmp, HObject* ImageEdgeDir)

HImage HImage::PrewittDir(HImage* ImageEdgeDir) const

static void HOperatorSet.PrewittDir(HObject image, out HObject imageEdgeAmp, out HObject imageEdgeDir)

HImage HImage.PrewittDir(out HImage imageEdgeDir)

def prewitt_dir(image: HObject) -> Tuple[HObject, HObject]

描述

prewitt_dirprewitt_dirPrewittDirPrewittDirPrewittDirprewitt_dir calculates an approximation of the first derivative of the image data and is used as an edge detector. The filter is based on the following filter masks: A = 1 1 1 0 0 0 -1 -1 -1 B = 1 0 -1 1 0 -1 1 0 -1 The result image contains the maximum response of the masks A and B. The edge directions are returned in ImageEdgeDirImageEdgeDirImageEdgeDirImageEdgeDirimageEdgeDirimage_edge_dir, and are stored in 2-degree steps, i.e., an edge direction of x degrees mathematically positive sense and with respect to the horizontal axis is stored as x / 2 in the edge direction image. Furthermore, the direction of the change of intensity is taken into account. Let denote the image gradient. Then the following edge directions are returned as r/2: Points with edge amplitude 0 are assigned the edge direction 255 (undefined direction).

注意

请注意,若使用域缩减后的图像作为输入,滤波器算子可能会返回意外结果。请参阅 滤波器 一章

执行信息

参数

ImageImageImageImageimageimage (输入对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / int2 / uint2)

输入图像。

ImageEdgeAmpImageEdgeAmpImageEdgeAmpImageEdgeAmpimageEdgeAmpimage_edge_amp (输出对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (byte / int2 / uint2)

Edge amplitude (gradient magnitude) image.

ImageEdgeDirImageEdgeDirImageEdgeDirImageEdgeDirimageEdgeDirimage_edge_dir (输出对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (direction)

Edge direction image.

示例(HDevelop)

read_image(Image,'fabrik')
prewitt_dir(Image,PrewittA,PrewittD)
threshold(PrewittA,Edges,128,255)

示例(C)

read_image(&Image,"fabrik");
prewitt_dir(Image,&PrewittA,&PrewittD);
threshold(PrewittA,&Edges,128,255);

示例(HDevelop)

read_image(Image,'fabrik')
prewitt_dir(Image,PrewittA,PrewittD)
threshold(PrewittA,Edges,128,255)

示例(HDevelop)

read_image(Image,'fabrik')
prewitt_dir(Image,PrewittA,PrewittD)
threshold(PrewittA,Edges,128,255)

示例(HDevelop)

read_image(Image,'fabrik')
prewitt_dir(Image,PrewittA,PrewittD)
threshold(PrewittA,Edges,128,255)

结果

prewitt_dirprewitt_dirPrewittDirPrewittDirPrewittDirprewitt_dir 始终返回 2 ( H_MSG_TRUE )。 如果输入为空则可设置行为通过 set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)。如有必要,则抛出异常。

可能的前趋

binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter, sigma_imagesigma_imageSigmaImageSigmaImageSigmaImagesigma_image, median_imagemedian_imageMedianImageMedianImageMedianImagemedian_image, smooth_imagesmooth_imageSmoothImageSmoothImageSmoothImagesmooth_image

可能的后继

hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold, thresholdthresholdThresholdThresholdThresholdthreshold, gray_skeletongray_skeletonGraySkeletonGraySkeletonGraySkeletongray_skeleton, nonmax_suppression_dirnonmax_suppression_dirNonmaxSuppressionDirNonmaxSuppressionDirNonmaxSuppressionDirnonmax_suppression_dir, close_edgesclose_edgesCloseEdgesCloseEdgesCloseEdgesclose_edges, close_edges_lengthclose_edges_lengthCloseEdgesLengthCloseEdgesLengthCloseEdgesLengthclose_edges_length

替代

edges_imageedges_imageEdgesImageEdgesImageEdgesImageedges_image, sobel_dirsobel_dirSobelDirSobelDirSobelDirsobel_dir, robinson_dirrobinson_dirRobinsonDirRobinsonDirRobinsonDirrobinson_dir, frei_dirfrei_dirFreiDirFreiDirFreiDirfrei_dir, kirsch_dirkirsch_dirKirschDirKirschDirKirschDirkirsch_dir

另见

bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImagebandpass_image, laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGaussLaplaceOfGausslaplace_of_gauss

模块

基础