Skip to content

bandpass_imageBandpassImageBandpassImagebandpass_imagebandpass_imageπŸ”—

Short descriptionπŸ”—

bandpass_imageBandpassImageBandpassImagebandpass_imagebandpass_image β€” Edge extraction using bandpass filters.

SignatureπŸ”—

bandpass_image( image Image, out image ImageBandpass, string FilterType )void BandpassImage( const HObject& Image, HObject* ImageBandpass, const HTuple& FilterType )static void HOperatorSet.BandpassImage( HObject image, out HObject imageBandpass, HTuple filterType )def bandpass_image( image: HObject, filter_type: str ) -> HObject

Herror bandpass_image( const Hobject Image, Hobject* ImageBandpass, const char* FilterType )

Herror T_bandpass_image( const Hobject Image, Hobject* ImageBandpass, const Htuple FilterType )

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

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

HImage HImage::BandpassImage( const wchar_t* FilterType ) const (Windows only)

HImage HImage.BandpassImage( string filterType )

DescriptionπŸ”—

bandpass_imageBandpassImage serves as an edge filter. It applies a linear filter with the following convolution mask to Imageimageimage:

FilterTypefilterTypefilter_type: 'lines'"lines" In contrast to the edge operator sobel_ampSobelAmp this filter detects lines instead of edges, i.e., two closely adjacent edges.

               0      -2      -2      -2       0
              -2       0       3       0      -2
              -2       3      12       3      -2
              -2       0       3       0      -2
               0      -2      -2      -2       0

At the border of the image the gray values are mirrored. Over- and underflows of gray values are clipped. The resulting images are returned in ImageBandpassimageBandpassimage_bandpass.

AttentionπŸ”—

Note that filter operators may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter Filters.

Execution informationπŸ”—

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Automatically parallelized on tuple level.

  • Automatically parallelized on channel level.

  • Automatically parallelized on domain level.

ParametersπŸ”—

Imageimageimage (input_object) (multichannel-)image(-array) β†’ object (byte / uint2)HObject (byte / uint2)HImage (byte / uint2)HObject (byte / uint2)Hobject (byte / uint2)

Input images.

ImageBandpassimageBandpassimage_bandpass (output_object) (multichannel-)image(-array) β†’ object (byte / uint2)HObject (byte / uint2)HImage (byte / uint2)HObject (byte / uint2)Hobject * (byte / uint2)

Bandpass-filtered images.

FilterTypefilterTypefilter_type (input_control) string β†’ (string)HTuple (HString)HTuple (string)strHtuple (char*)

Filter type: currently only β€˜lines’ is supported.

Default: 'lines'"lines"
List of values: 'lines'"lines"

ExampleπŸ”—

(C)

bandpass_image(Image,&LineImage,"lines")\;
threshold(LineImage,&Lines,60.0,255.0)\;
skeleton(Lines,&ThinLines)\;

ResultπŸ”—

bandpass_imageBandpassImage 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>:). If necessary, an exception is raised.

Combinations with other operatorsπŸ”—

Combinations

Possible successors

thresholdThreshold, skeletonSkeleton

Alternatives

convol_imageConvolImage, topographic_sketchTopographicSketch, texture_lawsTextureLaws

See also

highpass_imageHighpassImage, gray_skeletonGraySkeleton

ModuleπŸ”—

Foundation