dots_imagedots_imageDotsImageDotsImagedots_image (Operator)


dots_imagedots_imageDotsImageDotsImagedots_image — Enhance circular dots in an image.


dots_image(Image : DotImage : Diameter, FilterType, PixelShift : )

Herror dots_image(const Hobject Image, Hobject* DotImage, const Hlong Diameter, const char* FilterType, const Hlong PixelShift)

Herror T_dots_image(const Hobject Image, Hobject* DotImage, const Htuple Diameter, const Htuple FilterType, const Htuple PixelShift)

void DotsImage(const HObject& Image, HObject* DotImage, const HTuple& Diameter, const HTuple& FilterType, const HTuple& PixelShift)

HImage HImage::DotsImage(Hlong Diameter, const HString& FilterType, Hlong PixelShift) const

HImage HImage::DotsImage(Hlong Diameter, const char* FilterType, Hlong PixelShift) const

HImage HImage::DotsImage(Hlong Diameter, const wchar_t* FilterType, Hlong PixelShift) const   (Windows only)

static void HOperatorSet.DotsImage(HObject image, out HObject dotImage, HTuple diameter, HTuple filterType, HTuple pixelShift)

HImage HImage.DotsImage(int diameter, string filterType, int pixelShift)

def dots_image(image: HObject, diameter: int, filter_type: str, pixel_shift: int) -> HObject


dots_imagedots_imageDotsImageDotsImageDotsImagedots_image enhances circular dots of diameter DiameterDiameterDiameterDiameterdiameterdiameter in the input image ImageImageImageImageimageimage. Hence, dots_imagedots_imageDotsImageDotsImageDotsImagedots_image is especially suited for the segmentation of dot prints, e.g., in OCR applications. The enhancement is performed by using matched filters with filter masks that are tuned for a particular dot size. For example, for DiameterDiameterDiameterDiameterdiameterdiameter = 5 the filter mask is given by: The parameter FilterTypeFilterTypeFilterTypeFilterTypefilterTypefilter_type selects whether 'dark'"dark""dark""dark""dark""dark", 'light'"light""light""light""light""light", or 'all'"all""all""all""all""all" dots in the image should be enhanced. The PixelShiftPixelShiftPixelShiftPixelShiftpixelShiftpixel_shift can be used either to increase the contrast of the output image (PixelShiftPixelShiftPixelShiftPixelShiftpixelShiftpixel_shift > 0) or to dampen the values in extremely bright areas that would be cut off otherwise (PixelShiftPixelShiftPixelShiftPixelShiftpixelShiftpixel_shift = -1).


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


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

Input image.

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

Output image.

DiameterDiameterDiameterDiameterdiameterdiameter (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Diameter of the dots to be enhanced.

Default value: 5

List of values: 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23

FilterTypeFilterTypeFilterTypeFilterTypefilterTypefilter_type (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Enhance dark, light, or all dots.

Default value: 'light' "light" "light" "light" "light" "light"

List of values: 'all'"all""all""all""all""all", 'dark'"dark""dark""dark""dark""dark", 'light'"light""light""light""light""light"

PixelShiftPixelShiftPixelShiftPixelShiftpixelShiftpixel_shift (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Shift of the filter response.

Default value: 0

List of values: -1, 0, 1, 2

Possible Successors



laplacelaplaceLaplaceLaplaceLaplacelaplace, laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGaussLaplaceOfGausslaplace_of_gauss, diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussDiffOfGaussdiff_of_gauss, derivate_gaussderivate_gaussDerivateGaussDerivateGaussDerivateGaussderivate_gauss, convol_imageconvol_imageConvolImageConvolImageConvolImageconvol_image