emphasizeemphasizeEmphasizeEmphasizeemphasize (Operator)

Name

emphasizeemphasizeEmphasizeEmphasizeemphasize — Enhance contrast of the image.

Signature

emphasize(Image : ImageEmphasize : MaskWidth, MaskHeight, Factor : )

Herror emphasize(const Hobject Image, Hobject* ImageEmphasize, const Hlong MaskWidth, const Hlong MaskHeight, double Factor)

Herror T_emphasize(const Hobject Image, Hobject* ImageEmphasize, const Htuple MaskWidth, const Htuple MaskHeight, const Htuple Factor)

void Emphasize(const HObject& Image, HObject* ImageEmphasize, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& Factor)

HImage HImage::Emphasize(Hlong MaskWidth, Hlong MaskHeight, double Factor) const

static void HOperatorSet.Emphasize(HObject image, out HObject imageEmphasize, HTuple maskWidth, HTuple maskHeight, HTuple factor)

HImage HImage.Emphasize(int maskWidth, int maskHeight, double factor)

def emphasize(image: HObject, mask_width: int, mask_height: int, factor: float) -> HObject

Description

The operator emphasizeemphasizeEmphasizeEmphasizeEmphasizeemphasize emphasizes high frequency areas of the image (edges and corners). The resulting images appears sharper.

First the procedure carries out a filtering with the low pass (mean_imagemean_imageMeanImageMeanImageMeanImagemean_image). The resulting gray values (res) are calculated from the obtained gray values (mean) and the original gray values (orig) as follows: res := round((orig - mean) * Factor) + orig FactorFactorFactorFactorfactorfactor serves as measurement of the increase in contrast. The division frequency is determined via the size of the filter matrix: The larger the matrix, the lower the division frequency.

As an edge treatment the gray values are mirrored at the edges of the image. Overflow and/or underflow of gray values is clipped.

Attention

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.

Execution Information

Parameters

ImageImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / int2 / uint2)

Image to be enhanced.

ImageEmphasizeImageEmphasizeImageEmphasizeImageEmphasizeimageEmphasizeimage_emphasize (output_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (byte / int2 / uint2)

contrast enhanced image.

MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width (input_control)  extent.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Width of low pass mask.

Default value: 7

Suggested values: 3, 5, 7, 9, 11, 15, 21, 25, 31, 39

Typical range of values: 3 ≤ MaskWidth MaskWidth MaskWidth MaskWidth maskWidth mask_width ≤ 201

Minimum increment: 2

Recommended increment: 2

MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height (input_control)  extent.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Height of the low pass mask.

Default value: 7

Suggested values: 3, 5, 7, 9, 11, 15, 21, 25, 31, 39

Typical range of values: 3 ≤ MaskHeight MaskHeight MaskHeight MaskHeight maskHeight mask_height ≤ 201

Minimum increment: 2

Recommended increment: 2

FactorFactorFactorFactorfactorfactor (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Intensity of contrast emphasis.

Default value: 1.0

Suggested values: 0.3, 0.5, 0.7, 1.0, 1.4, 1.8, 2.0

Typical range of values: 0.0 ≤ Factor Factor Factor Factor factor factor ≤ 20.0 (sqrt)

Minimum increment: 0.01

Recommended increment: 0.2

Restriction: 0 < Factor && Factor < 20

Example (HDevelop)

read_image(Image,'mreut')
dev_display (Image)
draw_region(Region,WindowHandle)
reduce_domain(Image,Region,Mask)
emphasize(Mask,Sharp,7,7,2.0)
dev_display (Sharp)

Example (C)

read_image(&Image,"mreut");
disp_image(Image,WindowHandle);
draw_region(&Region,WindowHandle);
reduce_domain(Image,Region,&Mask);
emphasize(Mask,&Sharp,7,7,2.0);
disp_image(Sharp,WindowHandle);

Example (HDevelop)

read_image(Image,'mreut')
dev_display (Image)
draw_region(Region,WindowHandle)
reduce_domain(Image,Region,Mask)
emphasize(Mask,Sharp,7,7,2.0)
dev_display (Sharp)

Example (HDevelop)

read_image(Image,'mreut')
dev_display (Image)
draw_region(Region,WindowHandle)
reduce_domain(Image,Region,Mask)
emphasize(Mask,Sharp,7,7,2.0)
dev_display (Sharp)

Example (HDevelop)

read_image(Image,'mreut')
dev_display (Image)
draw_region(Region,WindowHandle)
reduce_domain(Image,Region,Mask)
emphasize(Mask,Sharp,7,7,2.0)
dev_display (Sharp)

Result

If the parameter values are correct the operator emphasizeemphasizeEmphasizeEmphasizeEmphasizeemphasize returns the value 2 (H_MSG_TRUE) The behavior in case of empty input (no input images available) is set via the operator set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>). If necessary an exception is raised.

Possible Successors

disp_imagedisp_imageDispImageDispImageDispImagedisp_image

Alternatives

mean_imagemean_imageMeanImageMeanImageMeanImagemean_image, sub_imagesub_imageSubImageSubImageSubImagesub_image, laplacelaplaceLaplaceLaplaceLaplacelaplace, add_imageadd_imageAddImageAddImageAddImageadd_image

See also

mean_imagemean_imageMeanImageMeanImageMeanImagemean_image, highpass_imagehighpass_imageHighpassImageHighpassImageHighpassImagehighpass_image

Module

Foundation