robertsrobertsRobertsRobertsroberts (算子名称)
名称
robertsrobertsRobertsRobertsroberts — Detect edges using the Roberts filter.
参数签名
描述
robertsrobertsRobertsRobertsRobertsroberts calculates the first derivative of an image
and is used as an edge operator. If the following mask describes a
part of the image,
A B
C D
the different filter types are defined as follows:
'roberts_max' max(| A - D |,| B - C |)
'gradient_max' max(| A + B - (C + D)|,| A + C - (B + D)|)
'gradient_sum' |A + B - (C + D)| + |A + C - (B + D)|
If an overflow occurs the result is clipped. The result of the
operator is stored at the pixel with the coordinates of "D".
注意
Note that filter operators may return unexpected results if
an image with a reduced domain is used as input. Please refer to the
chapter 过滤器.
运行信息
- 多线程类型:可重入(与非独占操作符并行运行)。
- 多线程作用域:全局(可以从任何线程调用)。
- 在元组级别自动并行化。
- 在图像通道级别自动并行化。
- Automatically parallelized on domain level.
参数表
ImageImageImageImageimageimage (input_object) (multichannel-)image(-array) → objectHImageHObjectHImageHobject (byte / int2 / uint2)
Input image.
ImageRobertsImageRobertsImageRobertsImageRobertsimageRobertsimage_roberts (output_object) (multichannel-)image(-array) → objectHImageHObjectHImageHobject * (byte / int2 / uint2)
Roberts-filtered result images.
FilterTypeFilterTypeFilterTypeFilterTypefilterTypefilter_type (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Filter type.
Default:
'gradient_sum'
"gradient_sum"
"gradient_sum"
"gradient_sum"
"gradient_sum"
"gradient_sum"
List of values:
'gradient_max'"gradient_max""gradient_max""gradient_max""gradient_max""gradient_max", 'gradient_sum'"gradient_sum""gradient_sum""gradient_sum""gradient_sum""gradient_sum", 'roberts_max'"roberts_max""roberts_max""roberts_max""roberts_max""roberts_max"
例程 (HDevelop)
read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)
例程 (C)
read_image(&Image,"fabrik");
roberts(Image,&Roberts,"roberts_max");
threshold(Roberts,&Margin,128.0,255.0);
例程 (HDevelop)
read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)
例程 (HDevelop)
read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)
例程 (HDevelop)
read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)
结果
robertsrobertsRobertsRobertsRobertsroberts returns 2 (
H_MSG_TRUE)
if all parameters are
correct. If the input is empty the behavior can be set via
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>). If
necessary, an exception is raised.
可能的前置算子
binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter,
gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter
可能的后置算子
thresholdthresholdThresholdThresholdThresholdthreshold,
skeletonskeletonSkeletonSkeletonSkeletonskeleton
可替代算子
edges_imageedges_imageEdgesImageEdgesImageEdgesImageedges_image,
sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp,
frei_ampfrei_ampFreiAmpFreiAmpFreiAmpfrei_amp,
kirsch_ampkirsch_ampKirschAmpKirschAmpKirschAmpkirsch_amp,
prewitt_ampprewitt_ampPrewittAmpPrewittAmpPrewittAmpprewitt_amp
参考其它
laplacelaplaceLaplaceLaplaceLaplacelaplace,
highpass_imagehighpass_imageHighpassImageHighpassImageHighpassImagehighpass_image,
bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImagebandpass_image
模块
Foundation