invert_imageinvert_imageInvertImageInvertImageinvert_image (Operator)
Name
invert_imageinvert_imageInvertImageInvertImageinvert_image
— Invert an image.
Signature
def invert_image(image: HObject) -> HObject
Description
The operator invert_imageinvert_imageInvertImageInvertImageinvert_image
inverts the gray values of an image.
For images of the byte
and cyclic
type the result is
calculated
as:
g' = 255 - g
Images of the 'direction' type are transformed by
g' = (g + 90) modulo 180
In the case of signed types the values are negated. The resulting
image has the same pixel type as the input image.
Several images can be processed in one call.
An output image is generated for every input image.
invert_imageinvert_imageInvertImageInvertImageinvert_image
can be executed on an OpenCL device for byte
,
direction
, cyclic
, int1
, int2
,
uint2
, int4
, and real
images.
Execution Information
- Supports OpenCL compute devices.
- 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* / direction* / cyclic* / int1* / int2* / uint2* / int4* / int8 / real*) *allowed for compute devices
Input image(s).
ImageInvertImageInvertImageInvertimageInvertimage_invert
(output_object) (multichannel-)image(-array) →
objectHImageHObjectHObjectHobject * (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real)
Image(s) with inverted gray values.
Example (HDevelop)
read_image(Orig,'fabrik')
invert_image(Orig,Invert)
dev_display(Invert)
Example (C)
read_image(&Orig,"fabrik");
invert_image(Orig,&Invert);
disp_image(Invert,WindowHandle);
Example (C++)
#include "HalconCpp.h"
using namespace Halcon;
#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif
int main()
{
HWindow win;
HImage inv,
org ("monkey");
cout << "Display original image" << endl;
org.Display (win);
win.Click ();
inv = org.InvertImage ();
cout << "Display inverted image" << endl;
inv.Display (win);
win.Click ();
return 0;
}
Example (HDevelop)
read_image(Orig,'fabrik')
invert_image(Orig,Invert)
dev_display(Invert)
Possible Successors
watershedswatershedsWatershedsWatershedswatersheds
Alternatives
scale_imagescale_imageScaleImageScaleImagescale_image
See also
scale_imagescale_imageScaleImageScaleImagescale_image
,
add_imageadd_imageAddImageAddImageadd_image
,
sub_imagesub_imageSubImageSubImagesub_image
Module
Foundation