robinson_dirrobinson_dirRobinsonDirRobinsonDirrobinson_dir(算子)
名称
robinson_dirrobinson_dirRobinsonDirRobinsonDirrobinson_dir — 使用罗宾逊(Robinson) 算子检测边缘(振幅和方向)。
签名
def robinson_dir(image: HObject) -> Tuple[HObject, HObject]
描述
robinson_dirrobinson_dirRobinsonDirRobinsonDirRobinsonDirrobinson_dir calculates an approximation of the first
derivative of the image data and is used as an edge detector. In
robinson_amprobinson_ampRobinsonAmpRobinsonAmpRobinsonAmprobinson_amp the following four of the originally
proposed eight 3x3 filter masks are convolved with
the image. The other four masks are obtained by a multiplication by
-1. All masks contain only the values 0,1,-1,2,-2.
-1 0 1 2 1 0
-2 0 2 1 0 -1
-1 0 1 0 -1 -2
0 1 2 1 2 1
-1 0 1 0 0 0
-2 -1 0 -1 -2 -1
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')
robinson_dir(Image,Robinson_dirA,Robinson_dirD)
threshold(Robinson_dirA,Res,128,255)
示例(C)
read_image(&Image,"fabrik");
robinson_dir(Image,&Robinson_dirA,&Robinson_dirD);
threshold(Robinson_dirA,&Res,128,255);
示例(HDevelop)
read_image(Image,'fabrik')
robinson_dir(Image,Robinson_dirA,Robinson_dirD)
threshold(Robinson_dirA,Res,128,255)
示例(HDevelop)
read_image(Image,'fabrik')
robinson_dir(Image,Robinson_dirA,Robinson_dirD)
threshold(Robinson_dirA,Res,128,255)
示例(HDevelop)
read_image(Image,'fabrik')
robinson_dir(Image,Robinson_dirA,Robinson_dirD)
threshold(Robinson_dirA,Res,128,255)
结果
robinson_dirrobinson_dirRobinsonDirRobinsonDirRobinsonDirrobinson_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,
kirsch_dirkirsch_dirKirschDirKirschDirKirschDirkirsch_dir,
prewitt_dirprewitt_dirPrewittDirPrewittDirPrewittDirprewitt_dir,
frei_dirfrei_dirFreiDirFreiDirFreiDirfrei_dir
另见
bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImagebandpass_image,
laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGaussLaplaceOfGausslaplace_of_gauss
模块
基础