highpass_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 可在 OpenCL 设备上执行。 The same
limitations as for mean_image and sub_image apply.
请注意,若使用域缩减后的图像作为输入,滤波器算子可能会返回意外结果。请参阅 滤波器 一章
Image (输入对象) (multichannel-)image(-array) → object (byte* / uint2*) *允许用于计算设备
输入图像。
Highpass (输出对象) (multichannel-)image(-array) → object (byte / uint2)
High-pass-filtered result image.
Width (输入控制) extent.x → (integer)
Width of the filter mask.
默认值: 9
建议值: 3, 5, 7, 9, 11, 13, 17, 21, 29, 41, 51, 73, 101
值范围:
1
≤
Width
最小增量: 2
建议增量: 2
Height (输入控制) extent.y → (integer)
Height of the filter mask.
默认值: 9
建议值: 3, 5, 7, 9, 11, 13, 17, 21, 29, 41, 51, 73, 101
值范围:
1
≤
Height
最小增量: 2
建议增量: 2
highpass_image(Image,&Highpass,7,5); threshold(Highpass,&Region,60.0,255.0); skeleton(Region,&Skeleton);
highpass_image 在所有参数正确时返回 2 ( H_MSG_TRUE )。 如果输入为空则可设置行为通过 set_system('no_object_result',<Result>)。如有必要,则抛出异常。
mean_image,
sub_image,
convol_image,
bandpass_image
基础