dots_imagedots_imageDotsImageDotsImagedots_image (Operator)
Name
dots_imagedots_imageDotsImageDotsImagedots_image
— Enhance circular dots in an image.
Signature
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)
Description
dots_imagedots_imageDotsImageDotsImagedots_image
enhances circular dots of diameter
DiameterDiameterDiameterdiameterdiameter
in the input image ImageImageImageimageimage
. Hence,
dots_imagedots_imageDotsImageDotsImagedots_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 DiameterDiameterDiameterdiameterdiameter
= 5 the
filter mask is given by:
The parameter FilterTypeFilterTypeFilterTypefilterTypefilter_type
selects whether 'dark'"dark""dark""dark""dark",
'light'"light""light""light""light", or 'all'"all""all""all""all" dots in the image should be
enhanced. The PixelShiftPixelShiftPixelShiftpixelShiftpixel_shift
can be used either to increase
the contrast of the output image (PixelShiftPixelShiftPixelShiftpixelShiftpixel_shift
> 0) or to
dampen the values in extremely bright areas that would be cut off
otherwise (PixelShiftPixelShiftPixelShiftpixelShiftpixel_shift
= -1).
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
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
- Automatically parallelized on channel level.
- Automatically parallelized on domain level.
Parameters
ImageImageImageimageimage
(input_object) (multichannel-)image(-array) →
objectHImageHObjectHObjectHobject (byte / uint2)
Input image.
DotImageDotImageDotImagedotImagedot_image
(output_object) (multichannel-)image(-array) →
objectHImageHObjectHObjectHobject * (byte / uint2)
Output image.
DiameterDiameterDiameterdiameterdiameter
(input_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Diameter of the dots to be enhanced.
Default:
5
List of values:
3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23
FilterTypeFilterTypeFilterTypefilterTypefilter_type
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Enhance dark, light, or all dots.
Default:
'light'
"light"
"light"
"light"
"light"
List of values:
'all'"all""all""all""all", 'dark'"dark""dark""dark""dark", 'light'"light""light""light""light"
PixelShiftPixelShiftPixelShiftpixelShiftpixel_shift
(input_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Shift of the filter response.
Default:
0
List of values:
-1, 0, 1, 2
Possible Successors
thresholdthresholdThresholdThresholdthreshold
Alternatives
laplacelaplaceLaplaceLaplacelaplace
,
laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGausslaplace_of_gauss
,
diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussdiff_of_gauss
,
derivate_gaussderivate_gaussDerivateGaussDerivateGaussderivate_gauss
,
convol_imageconvol_imageConvolImageConvolImageconvol_image
Module
Foundation