symmetry
— Symmetry of gray values along a row.
symmetry(Image : ImageSymmetry : MaskSize, Direction, Exponent : )
symmetry
calculates the symmetry along a line.
For each pixel the gray values of both sides of the line are
compared: The absolute value of the differences of gray values with
same distance to the pixel is computed. Each of these differences
is weighted by the exponent (after division by 255) and then
summed up.
Pixels with a high symmetry have large gray values.
Currently only horizontal search lines are implemented.
Note that the parameter Direction
exists for future extensions and can
currently only have the value 0.0.
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)
Input image.
ImageSymmetry
(output_object) (multichannel-)image(-array) →
object (byte)
Symmetry image.
MaskSize
(input_control) number →
(integer)
Extension of search area.
Default value: 40
Suggested values: 3, 5, 7, 10, 15, 20, 25, 30, 40, 50, 60, 70, 80, 100, 120, 140, 180
Typical range of values: 3
≤
MaskSize
≤
1000
Minimum increment: 1
Recommended increment: 2
Direction
(input_control) number →
(real)
Angle of test direction.
Default value: 0.0
Suggested values: 0.0
Typical range of values: 0.0
≤
Direction
≤
0.0
Exponent
(input_control) number →
(real)
Exponent for weighting.
Default value: 0.5
Suggested values: 0.1, 0.2, 0.3, 0.4, 0.5, 0.7, 0.8, 0.9, 1.0
Typical range of values: 0.05
≤
Exponent
≤
1.0
Minimum increment: 0.01
Recommended increment: 0.1
Restriction: 0 < Exponent && Exponent <= 1
read_image(Image,'monkey') symmetry(Image,ImageSymmetry,70,0.0,0.5) threshold(ImageSymmetry,SymmPoints,170,255)
If the parameter values are correct the operator symmetry
returns the value TRUE
The behavior in case of empty input (no input images available) is
set via the operator
set_system(::'no_object_result',<Result>:)
.
If necessary an exception is raised.
Foundation