highpass_image
— Extract high frequency components from an image.
highpass_image
extracts high frequency components in an
image by applying a linear filter with the following matrix (in case
of a 7x5 matrix):
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 -35 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
This corresponds to applying a mean operator (mean_image
),
and then subtracting the original gray value. For byte images, a value
of 128 is added to the result, i.e., zero crossings occur for 128.
Correspondingly for uint2 images, 32767 is added.
This filter emphasizes high frequency components (edges and corners). The cutoff frequency is determined by the size (Height x Width) of the filter matrix: the larger the matrix, the smaller the cutoff frequency is.
At the image borders the pixels' gray values are mirrored. In case of over- or underflow the gray values are clipped (255 and 0, resp.).
If even values are passed for Height
or Width
,
the operator uses the next larger odd value instead. Thus, the
center of the filter mask is always uniquely determined.
highpass_image
can be executed on OpenCL devices. The same
limitations as for mean_image
and sub_image
apply.
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.
Image
(input_object) (multichannel-)image(-array) →
object (byte* / uint2*) *allowed for compute devices
Input image.
Highpass
(output_object) (multichannel-)image(-array) →
object (byte / uint2)
High-pass-filtered result image.
Width
(input_control) extent.x →
(integer)
Width of the filter mask.
Default: 9
Suggested values: 3, 5, 7, 9, 11, 13, 17, 21, 29, 41, 51, 73, 101
Value range:
1
≤
Width
Minimum increment: 2
Recommended increment: 2
Height
(input_control) extent.y →
(integer)
Height of the filter mask.
Default: 9
Suggested values: 3, 5, 7, 9, 11, 13, 17, 21, 29, 41, 51, 73, 101
Value range:
1
≤
Height
Minimum increment: 2
Recommended increment: 2
highpass_image(Image,&Highpass,7,5); threshold(Highpass,&Region,60.0,255.0); skeleton(Region,&Skeleton);
highpass_image
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.
mean_image
,
sub_image
,
convol_image
,
bandpass_image
Foundation