Skip to content

bit_notBitNotBitNotbit_notbit_notπŸ”—

Short descriptionπŸ”—

bit_notBitNotBitNotbit_notbit_not β€” Complement all bits of the pixels.

SignatureπŸ”—

bit_not( image Image, out image ImageNot )void BitNot( const HObject& Image, HObject* ImageNot )static void HOperatorSet.BitNot( HObject image, out HObject imageNot )def bit_not( image: HObject ) -> HObject

Herror bit_not( const Hobject Image, Hobject* ImageNot )

Herror T_bit_not( const Hobject Image, Hobject* ImageNot )

HImage HImage::BitNot( ) const

HImage HImage.BitNot( )

DescriptionπŸ”—

The operator bit_notBitNot calculates the β€œcomplement” of all pixels of the input image bit by bit. The semantics of the β€œcomplement” operation corresponds to that of C (β€œ~”) for the respective types (signed char, unsigned char, short, unsigned short, int/long). Only the pixels within the definition range of the image are processed.

* Several images can be processed in one call. An output image is generated for every input image.

Execution informationπŸ”—

Execution information
  • 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πŸ”—

Imageimageimage (input_object) (multichannel-)image(-array) β†’ object (byte / direction / cyclic / int1 / int2 / uint2 / int4)HObject (byte / direction / cyclic / int1 / int2 / uint2 / int4)HImage (byte / direction / cyclic / int1 / int2 / uint2 / int4)HObject (byte / direction / cyclic / int1 / int2 / uint2 / int4)Hobject (byte / direction / cyclic / int1 / int2 / uint2 / int4)

Input image(s).

ImageNotimageNotimage_not (output_object) (multichannel-)image(-array) β†’ object (byte / direction / cyclic / int1 / int2 / uint2 / int4)HObject (byte / direction / cyclic / int1 / int2 / uint2 / int4)HImage (byte / direction / cyclic / int1 / int2 / uint2 / int4)HObject (byte / direction / cyclic / int1 / int2 / uint2 / int4)Hobject * (byte / direction / cyclic / int1 / int2 / uint2 / int4)

Result image(s) by complement operation.

ExampleπŸ”—

(HDevelop)

read_image(Image,'monkey')
dev_display(Image)
bit_not(Image,ImageBitNot)
dev_display(ImageBitNot)
(C)
read_image(&Image,"monkey")\;
disp_image(Image,WindowHandle)\;
bit_not(Image,&ImageBitNot)\;
disp_image(ImageBitNot,WindowHandle)\;

ResultπŸ”—

If the images are correct (type) the operator bit_notBitNot returns the value 2 (H_MSG_TRUE). The behavior in case of empty input (no input images available) is set via the operator set_system(::'no_object_result',<Result>:) If necessary an exception is raised.

Combinations with other operatorsπŸ”—

Combinations

Alternatives

bit_orBitOr, bit_andBitAnd, add_imageAddImage

See also

bit_sliceBitSlice, bit_maskBitMask

ModuleπŸ”—

Foundation