Operator Reference

invert_imageinvert_imageInvertImageInvertImageinvert_image (Operator)

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_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