check_difference — Compare two images pixel by pixel.
check_difference(Image, Pattern : Selected : Mode, DiffLowerBound, DiffUpperBound, GrayOffset, AddRow, AddCol : )
check_difference selects from the input image
Image those pixels
(),
whose gray value difference to the corresponding pixels in
Pattern is inside (outside) of the interval
.
The pixels of Pattern are
translated by
with respect to Image.
Let be the gray value from
Pattern translated by
with respect to .
If the selected mode Mode is 'diff_inside',
a pixel is selected if
If the mode is set to 'diff_outside', a pixel
is selected if
g_o - g_p - GrayOffset < DiffLowerBound or
g_o - g_p - GrayOffset > DiffUpperBound.
This test is performed for all points of the domain (region) of
Image, intersected with the domain of the translated
Pattern. All points fulfilling the above condition are
aggregated in the output region. The two images may be of different
size. Typically, Pattern is smaller than
Image.
Image (input_object) singlechannelimage(-array) → object (byte)
Input image.
Pattern (input_object) singlechannelimage(-array) → object (byte)
Comparison image.
Selected (output_object) region(-array) → object
Points in which the two images are similar/different.
Mode (input_control) string → (string)
Mode: return similar or different pixels.
Default: 'diff_outside'
Suggested values: 'diff_inside', 'diff_outside'
DiffLowerBound (input_control) number → (integer)
Lower bound of the tolerated gray value difference.
Default: -5
Suggested values: 0, -1, -2, -3, -5, -7, -10, -12, -15, -17, -20, -25, -30
Value range:
-255
≤
DiffLowerBound
≤
255 (lin)
Minimum increment: 1
Recommended increment: 2
DiffUpperBound (input_control) number → (integer)
Upper bound of the tolerated gray value difference.
Default: 5
Suggested values: 0, 1, 2, 3, 5, 7, 10, 12, 15, 17, 20, 25, 30
Value range:
-255
≤
DiffUpperBound
≤
255 (lin)
Minimum increment: 1
Recommended increment: 2
GrayOffset (input_control) number → (integer)
Offset gray value subtracted from the input image.
Default: 0
Suggested values: -30, -25, -20, -17, -15, -12, -10, -7, -5, -3, -2, -1, 0, 1, 2, 3, 5, 7, 10, 12, 15, 17, 20, 25, 30
Value range:
-255
≤
GrayOffset
≤
255 (lin)
Minimum increment: 1
Recommended increment: 2
AddRow (input_control) point.y → (integer)
Row coordinate by which the comparison image is translated.
Default: 0
Suggested values: -200, -100, -20, -10, 0, 10, 20, 100, 200
Value range:
-32000
≤
AddRow
≤
32000 (lin)
Minimum increment: 1
Recommended increment: 1
AddCol (input_control) point.x → (integer)
Column coordinate by which the comparison image is translated.
Default: 0
Suggested values: -200, -100, -20, -10, 0, 10, 20, 100, 200
Value range:
-32000
≤
AddCol
≤
32000 (lin)
Minimum increment: 1
Recommended increment: 1
Let be the number of valid pixels. Then the runtime complexity is .
check_difference returns 2 (
H_MSG_TRUE)
if all parameters
are correct. The behavior with respect to the input images and
output regions can be determined by setting the values of the flags
'no_object_result', 'empty_region_result', and
'store_empty_region' with set_system.
If necessary, an exception is raised.
connection,
select_shape,
reduce_domain,
select_gray,
rank_region,
dilation1,
opening
Foundation