overpaint_grayoverpaint_grayOverpaintGrayOverpaintGrayoverpaint_gray (Operator)
Name
overpaint_grayoverpaint_grayOverpaintGrayOverpaintGrayoverpaint_gray
— Overpaint the gray values of an image.
Signature
Description
overpaint_grayoverpaint_grayOverpaintGrayOverpaintGrayOverpaintGrayoverpaint_gray
copies the gray values of the image given
in ImageSourceImageSourceImageSourceImageSourceimageSourceimage_source
into the image in
ImageDestinationImageDestinationImageDestinationImageDestinationimageDestinationimage_destination
. Only the gray values of the domain of
ImageSourceImageSourceImageSourceImageSourceimageSourceimage_source
are copied (see reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain
).
If you do not want to modify ImageDestinationImageDestinationImageDestinationImageDestinationimageDestinationimage_destination
itself, you can use
the operator paint_graypaint_grayPaintGrayPaintGrayPaintGraypaint_gray
, which returns the result in a newly created
image.
Attention
overpaint_grayoverpaint_grayOverpaintGrayOverpaintGrayOverpaintGrayoverpaint_gray
modifies the content of an already existing image
(ImageDestinationImageDestinationImageDestinationImageDestinationimageDestinationimage_destination
). Besides, even other image objects may be
affected: For example, if you created ImageDestinationImageDestinationImageDestinationImageDestinationimageDestinationimage_destination
via
copy_objcopy_objCopyObjCopyObjCopyObjcopy_obj
from another image object (or vice versa),
overpaint_grayoverpaint_grayOverpaintGrayOverpaintGrayOverpaintGrayoverpaint_gray
will also modify the image matrix of this other image
object. Therefore, overpaint_grayoverpaint_grayOverpaintGrayOverpaintGrayOverpaintGrayoverpaint_gray
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
ImageDestinationImageDestinationImageDestinationImageDestinationimageDestinationimage_destination
(input_object, state is modified) (multichannel-)image →
objectHImageHObjectHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real / complex / vector_field)
Input image to be painted over.
ImageSourceImageSourceImageSourceImageSourceimageSourceimage_source
(input_object) (multichannel-)image →
objectHImageHObjectHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real / complex / vector_field)
Input image containing the desired gray values.
Example (HDevelop)
* Copy a circular part of the image 'monkey' into a new image (New1):
read_image(Image,'monkey')
gen_circle(Circle,200,200,150)
reduce_domain(Image,Circle,Mask)
* New image with black (0) background
gen_image_proto(Image,New1,0.0)
* Copy a part of the image 'monkey' into New1
overpaint_gray(New1,Mask)
Example (C)
/* Copy a circular part of the image 'monkey' into a new image (New1): */
read_image(&Image,"monkey");
gen_circle(&Circle,200.0,200.0,150.0);
reduce_domain(Image,Circle,&Mask);
/* New image with black (0) background */
gen_image_proto(Image,&New1,0.0);
/* Copy a part of the image 'monkey' into New1 */
overpaint_gray(New1,Mask);
Example (HDevelop)
* Copy a circular part of the image 'monkey' into a new image (New1):
read_image(Image,'monkey')
gen_circle(Circle,200,200,150)
reduce_domain(Image,Circle,Mask)
* New image with black (0) background
gen_image_proto(Image,New1,0.0)
* Copy a part of the image 'monkey' into New1
overpaint_gray(New1,Mask)
Example (HDevelop)
* Copy a circular part of the image 'monkey' into a new image (New1):
read_image(Image,'monkey')
gen_circle(Circle,200,200,150)
reduce_domain(Image,Circle,Mask)
* New image with black (0) background
gen_image_proto(Image,New1,0.0)
* Copy a part of the image 'monkey' into New1
overpaint_gray(New1,Mask)
Example (HDevelop)
* Copy a circular part of the image 'monkey' into a new image (New1):
read_image(Image,'monkey')
gen_circle(Circle,200,200,150)
reduce_domain(Image,Circle,Mask)
* New image with black (0) background
gen_image_proto(Image,New1,0.0)
* Copy a part of the image 'monkey' into New1
overpaint_gray(New1,Mask)
Result
overpaint_grayoverpaint_grayOverpaintGrayOverpaintGrayOverpaintGrayoverpaint_gray
returns 2 (
H_MSG_TRUE)
if all parameters are
correct. 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
Alternatives
get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1GetImagePointer1get_image_pointer1
,
paint_graypaint_grayPaintGrayPaintGrayPaintGraypaint_gray
,
set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayvalset_grayval
,
copy_imagecopy_imageCopyImageCopyImageCopyImagecopy_image
See also
paint_regionpaint_regionPaintRegionPaintRegionPaintRegionpaint_region
,
overpaint_regionoverpaint_regionOverpaintRegionOverpaintRegionOverpaintRegionoverpaint_region
Module
Foundation