Skip to content

entropy_imageEntropyImageEntropyImageentropy_imageentropy_image🔗

Short description🔗

entropy_imageEntropyImageEntropyImageentropy_imageentropy_image — Calculate the entropy of gray values within a rectangular window.

Signature🔗

entropy_image( image Image, out image ImageEntropy, extent.x Width, extent.y Height )void EntropyImage( const HObject& Image, HObject* ImageEntropy, const HTuple& Width, const HTuple& Height )static void HOperatorSet.EntropyImage( HObject image, out HObject imageEntropy, HTuple width, HTuple height )def entropy_image( image: HObject, width: int, height: int ) -> HObject

Herror entropy_image( const Hobject Image, Hobject* ImageEntropy, const Hlong Width, const Hlong Height )

Herror T_entropy_image( const Hobject Image, Hobject* ImageEntropy, const Htuple Width, const Htuple Height )

HImage HImage::EntropyImage( Hlong Width, Hlong Height ) const

HImage HImage.EntropyImage( int width, int height )

Description🔗

entropy_imageEntropyImage calculates the entropy of gray values in the image Imageimageimage within a rectangular mask of size (Heightheightheight, Widthwidthwidth). The resulting image is returned in ImageEntropyimageEntropyimage_entropy, in which the entropy is multiplied by 32. If the parameters Heightheightheight and Widthwidthwidth are even, they are changed to the next larger odd value. At the image borders the gray values are mirrored.

Attention🔗

Note that filter operators may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter Filters.

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)HObject (byte)HImage (byte)HObject (byte)Hobject (byte)

Image for which the entropy is to be calculated.

ImageEntropyimageEntropyimage_entropy (output_object) (multichannel-)image(-array) → object (byte)HObject (byte)HImage (byte)HObject (byte)Hobject * (byte)

Entropy image.

Widthwidthwidth (input_control) extent.x → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Width of the mask in which the entropy is calculated.

Default: 99
Suggested values: 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 253, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25
Restriction: 3 <= Width && odd(Width)

Heightheightheight (input_control) extent.y → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Height of the mask in which the entropy is calculated.

Default: 99
Suggested values: 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 253, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25
Restriction: 3 <= Height && odd(Height)

Example🔗

(HDevelop)

read_image(Image,'fabrik')
dev_display(Image)
entropy_image(Image,Entropy,9,9)
dev_display(Entropy)
(C)
read_image(&Image,"fabrik")\;
disp_image(Image,WindowHandle)\;
entropy_image(Image,&Entropy,9,9)\;
disp_image(Entropy,WindowHandle)\; 

Result🔗

entropy_imageEntropyImage returns 2 (H_MSG_TRUE) if all parameters are correct. If the input is empty the behavior can be set via set_system('no_object_result',<Result>). If necessary, an exception is raised.

Combinations with other operators🔗

Combinations

Possible successors

disp_imageDispImage

Alternatives

entropy_grayEntropyGray

See also

energy_gaborEnergyGabor, entropy_grayEntropyGray

Module🔗

Foundation