overpaint_regionoverpaint_regionOverpaintRegionOverpaintRegionoverpaint_region (Operator)
Name
overpaint_regionoverpaint_regionOverpaintRegionOverpaintRegionoverpaint_region
— Overpaint regions in an image.
Signature
void OverpaintRegion(const HObject& Image, const HObject& Region, const HTuple& Grayval, const HTuple& Type)
void HImage::OverpaintRegion(const HRegion& Region, const HTuple& Grayval, const HString& Type) const
void HImage::OverpaintRegion(const HRegion& Region, double Grayval, const HString& Type) const
void HImage::OverpaintRegion(const HRegion& Region, double Grayval, const char* Type) const
void HImage::OverpaintRegion(const HRegion& Region, double Grayval, const wchar_t* Type) const
(Windows only)
void HRegion::OverpaintRegion(const HImage& Image, const HTuple& Grayval, const HString& Type) const
void HRegion::OverpaintRegion(const HImage& Image, double Grayval, const HString& Type) const
void HRegion::OverpaintRegion(const HImage& Image, double Grayval, const char* Type) const
void HRegion::OverpaintRegion(const HImage& Image, double Grayval, const wchar_t* Type) const
(Windows only)
static void HOperatorSet.OverpaintRegion(HObject image, HObject region, HTuple grayval, HTuple type)
void HImage.OverpaintRegion(HRegion region, HTuple grayval, string type)
void HImage.OverpaintRegion(HRegion region, double grayval, string type)
void HRegion.OverpaintRegion(HImage image, HTuple grayval, string type)
void HRegion.OverpaintRegion(HImage image, double grayval, string type)
def overpaint_region(image: HObject, region: HObject, grayval: MaybeSequence[Union[int, float]], type: str) -> None
Description
overpaint_regionoverpaint_regionOverpaintRegionOverpaintRegionOverpaintRegionoverpaint_region
paints the regions given in
RegionRegionRegionRegionregionregion
with a constant gray value into the image given in
ImageImageImageImageimageimage
. These gray values can either
be specified for each channel once, valid for all regions, or for each
region separately. To define the latter, group the channel gray values
g of each region and concatenate them to a tuple according to
the regions' order, e.g., for a three channel image:
[g(channel1,region1), g(channel2,region1), g(channel3,region1), g(channel1,region2), ... ].
If the input image is of type 'direction', gray values that are not
in the value range that is valid for 'direction' images are set to
the value 255 to mark them as invalid.
The parameter TypeTypeTypeTypetypetype
determines whether
the region should be painted filled ('fill'"fill""fill""fill""fill""fill") or whether
only its boundary should be painted ('margin'"margin""margin""margin""margin""margin").
If you do not want to modify ImageImageImageImageimageimage
itself, you can use the operator
paint_regionpaint_regionPaintRegionPaintRegionPaintRegionpaint_region
, which returns the result in a newly created image.
Attention
overpaint_regionoverpaint_regionOverpaintRegionOverpaintRegionOverpaintRegionoverpaint_region
modifies the content of an already existing image
(ImageImageImageImageimageimage
). Besides, even other image objects may be affected: For
example, if you created ImageImageImageImageimageimage
via copy_objcopy_objCopyObjCopyObjCopyObjcopy_obj
from another
image object (or vice versa), overpaint_regionoverpaint_regionOverpaintRegionOverpaintRegionOverpaintRegionoverpaint_region
will also modify the
image matrix of this other image object. Therefore, overpaint_regionoverpaint_regionOverpaintRegionOverpaintRegionOverpaintRegionoverpaint_region
should only be used to overpaint newly created image objects. Typical
operators for this task are, e.g., gen_image_constgen_image_constGenImageConstGenImageConstGenImageConstgen_image_const
(creates a new
image with a specified size), gen_image_protogen_image_protoGenImageProtoGenImageProtoGenImageProtogen_image_proto
(creates an image with
the size of a specified prototype image) or copy_imagecopy_imageCopyImageCopyImageCopyImagecopy_image
(creates an
image as the copy of a specified image).
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
This operator modifies the state of the following input parameter:
During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.
Parameters
ImageImageImageImageimageimage
(input_object, state is modified) (multichannel-)image →
objectHImageHObjectHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex)
Image in which the regions are to be painted.
RegionRegionRegionRegionregionregion
(input_object) region(-array) →
objectHRegionHObjectHRegionHobject
Regions to be painted into the input image.
GrayvalGrayvalGrayvalGrayvalgrayvalgrayval
(input_control) number(-array) →
HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Desired gray values of the regions.
Default value: 255.0
Suggested values: 0.0, 1.0, 2.0, 5.0, 10.0, 16.0, 32.0, 64.0, 128.0, 253.0, 254.0, 255.0
TypeTypeTypeTypetypetype
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Paint regions filled or as boundaries.
Default value:
'fill'
"fill"
"fill"
"fill"
"fill"
"fill"
List of values: 'fill'"fill""fill""fill""fill""fill", 'margin'"margin""margin""margin""margin""margin"
Example (HDevelop)
* Paint a rectangle into a new image (New1)
gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* generate a black image
gen_image_const(New1,'byte', 768, 576)
* paint a white rectangle
overpaint_region(New1,Rectangle,255.0,'fill')
Example (C)
/* Paint a rectangle into a new image (New1) */
gen_rectangle1(&Rectangle,100.0,100.0,300.0,300.0);
/* generate a black image */
gen_image_const(&New1,"byte", 768, 576)
/* paint a white rectangle */
overpaint_region(New1,Rectangle,255.0,"fill");
Example (HDevelop)
* Paint a rectangle into a new image (New1)
gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* generate a black image
gen_image_const(New1,'byte', 768, 576)
* paint a white rectangle
overpaint_region(New1,Rectangle,255.0,'fill')
Example (HDevelop)
* Paint a rectangle into a new image (New1)
gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* generate a black image
gen_image_const(New1,'byte', 768, 576)
* paint a white rectangle
overpaint_region(New1,Rectangle,255.0,'fill')
Example (HDevelop)
* Paint a rectangle into a new image (New1)
gen_rectangle1(Rectangle,100.0,100.0,300.0,300.0)
* generate a black image
gen_image_const(New1,'byte', 768, 576)
* paint a white rectangle
overpaint_region(New1,Rectangle,255.0,'fill')
Result
overpaint_regionoverpaint_regionOverpaintRegionOverpaintRegionOverpaintRegionoverpaint_region
returns 2 (H_MSG_TRUE) if all parameters are
correct. If the input is empty the behavior can be set via
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 Predecessors
read_imageread_imageReadImageReadImageReadImageread_image
,
gen_image_constgen_image_constGenImageConstGenImageConstGenImageConstgen_image_const
,
gen_image_protogen_image_protoGenImageProtoGenImageProtoGenImageProtogen_image_proto
,
reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain
Alternatives
set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayvalset_grayval
,
paint_regionpaint_regionPaintRegionPaintRegionPaintRegionpaint_region
,
paint_xldpaint_xldPaintXldPaintXldPaintXldpaint_xld
See also
reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain
,
set_drawset_drawSetDrawSetDrawSetDrawset_draw
,
paint_graypaint_grayPaintGrayPaintGrayPaintGraypaint_gray
,
overpaint_grayoverpaint_grayOverpaintGrayOverpaintGrayOverpaintGrayoverpaint_gray
,
gen_image_constgen_image_constGenImageConstGenImageConstGenImageConstgen_image_const
Module
Foundation