invert_imageinvert_imageInvertImageInvertImageinvert_image (Operator)

Name

invert_imageinvert_imageInvertImageInvertImageinvert_image — Invert an image.

Signature

invert_image(Image : ImageInvert : : )

Herror invert_image(const Hobject Image, Hobject* ImageInvert)

Herror T_invert_image(const Hobject Image, Hobject* ImageInvert)

void InvertImage(const HObject& Image, HObject* ImageInvert)

HImage HImage::InvertImage() const

static void HOperatorSet.InvertImage(HObject image, out HObject imageInvert)

HImage HImage.InvertImage()

def invert_image(image: HObject) -> HObject

Description

The operator invert_imageinvert_imageInvertImageInvertImageInvertImageinvert_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_imageInvertImageInvertImageInvertImageinvert_image can be executed on an OpenCL device for byte, direction, cyclic, int1, int2, uint2, int4, and real images.

Execution Information

Parameters

ImageImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte* / direction* / cyclic* / int1* / int2* / uint2* / int4* / int8 / real*) *allowed for compute devices

Input image(s).

ImageInvertImageInvertImageInvertImageInvertimageInvertimage_invert (output_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (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)

Example (HDevelop)

read_image(Orig,'fabrik')
invert_image(Orig,Invert)
dev_display(Invert)

Possible Successors

watershedswatershedsWatershedsWatershedsWatershedswatersheds

Alternatives

scale_imagescale_imageScaleImageScaleImageScaleImagescale_image

See also

scale_imagescale_imageScaleImageScaleImageScaleImagescale_image, add_imageadd_imageAddImageAddImageAddImageadd_image, sub_imagesub_imageSubImageSubImageSubImagesub_image

Module

Foundation