Skip to content

min_imageMinImageMinImagemin_imagemin_image🔗

Short description🔗

min_imageMinImageMinImagemin_imagemin_image — Calculate the minimum of two images pixel by pixel.

Signature🔗

min_image( image Image1, image Image2, out image ImageMin )void MinImage( const HObject& Image1, const HObject& Image2, HObject* ImageMin )static void HOperatorSet.MinImage( HObject image1, HObject image2, out HObject imageMin )def min_image( image_1: HObject, image_2: HObject ) -> HObject

Herror min_image( const Hobject Image1, const Hobject Image2, Hobject* ImageMin )

Herror T_min_image( const Hobject Image1, const Hobject Image2, Hobject* ImageMin )

HImage HImage::MinImage( const HImage& Image2 ) const

HImage HImage.MinImage( HImage image2 )

Description🔗

The operator min_imageMinImage determines the minimum (pixel by pixel) of the images Image1image1image_1 and Image2image2image_2. The result is stored in the image ImageMinimageMinimage_min. The resulting image has the same pixel type as the input image. If several (pairs of) images are processed in one call, every i-th image from Image1image1image_1 is compared to the i-th image from Image2image2image_2. Thus the number of images in both input parameters must be the same. An output image is generated for every input pair.

min_imageMinImage can be executed on an OpenCL device for byte, int1, int2, uint2, int4, real, direction, and cyclic images.

Execution information🔗

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 domain level.

Parameters🔗

Image1image1image_1 (input_object) (multichannel-)image(-array) → object (byte* / int1* / int2* / uint2* / int4* / int8 / real* / direction* / cyclic*)HObject (byte* / int1* / int2* / uint2* / int4* / int8 / real* / direction* / cyclic*)HImage (byte* / int1* / int2* / uint2* / int4* / int8 / real* / direction* / cyclic*)HObject (byte* / int1* / int2* / uint2* / int4* / int8 / real* / direction* / cyclic*)Hobject (byte* / int1* / int2* / uint2* / int4* / int8 / real* / direction* / cyclic*) *allowed for compute devices

Image(s) 1.

Image2image2image_2 (input_object) (multichannel-)image(-array) → object (byte* / int1* / int2* / uint2* / int4* / int8 / real* / direction* / cyclic*)HObject (byte* / int1* / int2* / uint2* / int4* / int8 / real* / direction* / cyclic*)HImage (byte* / int1* / int2* / uint2* / int4* / int8 / real* / direction* / cyclic*)HObject (byte* / int1* / int2* / uint2* / int4* / int8 / real* / direction* / cyclic*)Hobject (byte* / int1* / int2* / uint2* / int4* / int8 / real* / direction* / cyclic*) *allowed for compute devices

Image(s) 2.

ImageMinimageMinimage_min (output_object) (multichannel-)image(-array) → object (byte / int1 / int2 / uint2 / int4 / int8 / real / direction / cyclic)HObject (byte / int1 / int2 / uint2 / int4 / int8 / real / direction / cyclic)HImage (byte / int1 / int2 / uint2 / int4 / int8 / real / direction / cyclic)HObject (byte / int1 / int2 / uint2 / int4 / int8 / real / direction / cyclic)Hobject * (byte / int1 / int2 / uint2 / int4 / int8 / real / direction / cyclic)

Result image(s) by the minimization.

Result🔗

If the parameter values are correct the operator min_imageMinImage 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

gray_erosionGrayErosion

See also

max_imageMaxImage

Module🔗

Foundation