illuminate__ ( Image : ImageIlluminate : MaskWidth, MaskHeight, Factor : )

Illuminate image.

The operator illuminate__ enhances contrast. Very dark parts of the image are "illuminated" more strongly, very light ones are "darkened". If orig is the original gray value and mean is the corresponding gray value of the low pass filtered image detected via the operators mean__ and filter size MaskHeight x MaskWidth, the resulting gray value is new:

             new = round ( (127 - low) * Factor + orig ).
   Height Width  Factor
   ---------------------
    40     40     0.55
   100    100     0.7
   150    150     0.8
The following "spotlight effect" should be noted: If, for example, a dark object is in front of a light wall the object as well as the wall, which is already light in the immediate proximity of the object contours, are lightened by the operator illuminate__. This corresponds roughly to the effect that is produced when the object is illuminated by a strong spotlight. The same applies to light objects in front of a darker background. In this case, however, the fictitious "spotlight" darkens objects.


Attention

attention.english


Parameters

Image (input_object)
image(-array) -> object : byte
Image to be enhanced.

ImageIlluminate (output_object)
image(-array) -> object : byte
"Illuminated" image.

MaskWidth (input_control)
extent.x -> integer
Width of low pass mask.
Default value: 101
Suggested values: 31, 41, 51, 71, 101, 121, 151, 201
Range of values: 3 <= MaskWidth <= 299
Minimum increment: 2
Recommended increment: 10

MaskHeight (input_control)
extent.y -> integer
Height of low pass mask.
Default value: 101
Suggested values: 31, 41, 51, 71, 101, 121, 151, 201
Range of values: 3 <= MaskHeight <= 299
Minimum increment: 2
Recommended increment: 10

Factor (input_control)
real -> real
Scales the "correction gray value" added to the original gray values.
Default value: 0.7
Suggested values: 0.3, 0.5, 0.7, 1.0, 1.5, 2.0, 3.0, 5.0
Range of values: 0.0 <= Factor <= 5.0
Minimum increment: 0.01
Recommended increment: 0.2
Restriction: (0 < Factor) && (Factor < 5)


Example
read_image(:Image:'fabrik':) >
disp_image(Image:::)
illuminate__(Image:Better:40,40,0.55:) >
disp_image(Better:::).

Result

If the parameter values are correct the operator illuminate__ 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.


Possible Successors

disp_image


Alternatives

scale_max, equ_histo__, mean__, sub__


See also

emphasize__, histo__



Copyright © 1996-1997 MVTec Software GmbH