ClassesClassesClassesClasses | | | | Operators

robertsrobertsRobertsrobertsRobertsRoberts (Operator)

Name

robertsrobertsRobertsrobertsRobertsRoberts — Detect edges using the Roberts filter.

Signature

roberts(Image : ImageRoberts : FilterType : )

Herror roberts(const Hobject Image, Hobject* ImageRoberts, const char* FilterType)

Herror T_roberts(const Hobject Image, Hobject* ImageRoberts, const Htuple FilterType)

Herror roberts(Hobject Image, Hobject* ImageRoberts, const HTuple& FilterType)

HImage HImage::Roberts(const HTuple& FilterType) const

HImageArray HImageArray::Roberts(const HTuple& FilterType) const

void Roberts(const HObject& Image, HObject* ImageRoberts, const HTuple& FilterType)

HImage HImage::Roberts(const HString& FilterType) const

HImage HImage::Roberts(const char* FilterType) const

void HOperatorSetX.Roberts(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*ImageRoberts, [in] VARIANT FilterType)

IHImageX* HImageX.Roberts([in] BSTR FilterType)

static void HOperatorSet.Roberts(HObject image, out HObject imageRoberts, HTuple filterType)

HImage HImage.Roberts(string filterType)

Description

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".

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (byte / int2 / uint2)

Input image.

ImageRobertsImageRobertsImageRobertsImageRobertsImageRobertsimageRoberts (output_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject * (byte / int2 / uint2)

Roberts-filtered result images.

FilterTypeFilterTypeFilterTypeFilterTypeFilterTypefilterType (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Filter type.

Default value: '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"

Example (HDevelop)

read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)

Example (C)

read_image(&Image,"fabrik");
roberts(Image,&Roberts,"roberts_max");
threshold(Roberts,&Margin,128.0,255.0);

Example (HDevelop)

read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)

Example (HDevelop)

read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)

Example (HDevelop)

read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)

Example (HDevelop)

read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)

Result

robertsrobertsRobertsrobertsRobertsRoberts returns 2 (H_MSG_TRUE) if all parameters are correct. If the input is empty the behaviour can be set via set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

binomial_filterbinomial_filterBinomialFilterbinomial_filterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFiltergauss_filterGaussFilterGaussFilter

Possible Successors

thresholdthresholdThresholdthresholdThresholdThreshold, skeletonskeletonSkeletonskeletonSkeletonSkeleton

Alternatives

edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage, sobel_ampsobel_ampSobelAmpsobel_ampSobelAmpSobelAmp, frei_ampfrei_ampFreiAmpfrei_ampFreiAmpFreiAmp, kirsch_ampkirsch_ampKirschAmpkirsch_ampKirschAmpKirschAmp, prewitt_ampprewitt_ampPrewittAmpprewitt_ampPrewittAmpPrewittAmp

See also

laplacelaplaceLaplacelaplaceLaplaceLaplace, highpass_imagehighpass_imageHighpassImagehighpass_imageHighpassImageHighpassImage, bandpass_imagebandpass_imageBandpassImagebandpass_imageBandpassImageBandpassImage

Module

Foundation


ClassesClassesClassesClasses | | | | Operators