kirsch_dirkirsch_dirKirschDirKirschDirkirsch_dir (算子)
名称
kirsch_dirkirsch_dirKirschDirKirschDirkirsch_dir — 使用 Kirsch 算子检测边缘(振幅和方向)。
签名
def kirsch_dir(image: HObject) -> Tuple[HObject, HObject]
描述
kirsch_dirkirsch_dirKirschDirKirschDirKirschDirkirsch_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:
-3 -3 5 -3 5 5 5 5 5 5 5 -3
-3 0 5 -3 0 5 -3 0 -3 5 0 -3
-3 -3 5 -3 -3 -3 -3 -3 -3 -3 -3 -3
5 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3
5 0 -3 5 0 -3 -3 0 -3 -3 0 5
5 -3 -3 5 5 -3 5 5 5 -3 5 5
The result image contains the maximum response of all masks. The
edge directions are returned in ImageEdgeDirImageEdgeDirImageEdgeDirImageEdgeDirimageEdgeDirimage_edge_dir, and are
stored as x / 2. They correspond to the direction of
the mask yielding the maximum response.
注意
请注意,若使用域缩减后的图像作为输入,滤波器算子可能会返回意外结果。请参阅 滤波器 一章
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在元组级别上自动并行化。
- 在通道级别上自动并行化。
- 在域级别上自动并行化。
参数
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')
kirsch_dir(Image,Kirsch_dirA,Kirsch_dirD)
threshold(Kirsch_dirA,Res,128,255)
示例(C)
read_image(&Image,"fabrik");
kirsch_dir(Image,&Kirsch_dirA,&Kirsch_dirD);
threshold(Kirsch_dirA,&Res,128,255);
示例(HDevelop)
read_image(Image,'fabrik')
kirsch_dir(Image,Kirsch_dirA,Kirsch_dirD)
threshold(Kirsch_dirA,Res,128,255)
示例(HDevelop)
read_image(Image,'fabrik')
kirsch_dir(Image,Kirsch_dirA,Kirsch_dirD)
threshold(Kirsch_dirA,Res,128,255)
示例(HDevelop)
read_image(Image,'fabrik')
kirsch_dir(Image,Kirsch_dirA,Kirsch_dirD)
threshold(Kirsch_dirA,Res,128,255)
结果
kirsch_dirkirsch_dirKirschDirKirschDirKirschDirkirsch_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,
prewitt_dirprewitt_dirPrewittDirPrewittDirPrewittDirprewitt_dir,
frei_dirfrei_dirFreiDirFreiDirFreiDirfrei_dir
另见
bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImagebandpass_image,
laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGaussLaplaceOfGausslaplace_of_gauss
模块
基础