Operator Reference

histo_2dimhisto_2dimHisto2dimHisto2dimhisto_2dim (Operator)

histo_2dimhisto_2dimHisto2dimHisto2dimhisto_2dim — Calculate the histogram of two-channel gray value images.

Signature

histo_2dim(Regions, ImageCol, ImageRow : Histo2Dim : : )

Herror histo_2dim(const Hobject Regions, const Hobject ImageCol, const Hobject ImageRow, Hobject* Histo2Dim)

Herror T_histo_2dim(const Hobject Regions, const Hobject ImageCol, const Hobject ImageRow, Hobject* Histo2Dim)

void Histo2dim(const HObject& Regions, const HObject& ImageCol, const HObject& ImageRow, HObject* Histo2Dim)

HImage HImage::Histo2dim(const HRegion& Regions, const HImage& ImageRow) const

HImage HRegion::Histo2dim(const HImage& ImageCol, const HImage& ImageRow) const

def histo_2dim(regions: HObject, image_col: HObject, image_row: HObject) -> HObject

Description

The operator histo_2dimhisto_2dimHisto2dimHisto2dimhisto_2dim calculates the 2-dimensional histogram of two images within RegionsRegionsRegionsregionsregions. The gray values of channel 1 (ImageColImageColImageColimageColimage_col) are interpreted as row index, those of channel 2 (ImageRowImageRowImageRowimageRowimage_row) as column index. The gray value at one point P(g1,g2) in the output image Histo2DimHisto2DimHisto2Dimhisto2Dimhisto_2dim indicates the frequency of the gray value combination (g1,g2) with g1 indicating the line index and g2 the column index.

Attention

Note that the operator histo_2dimhisto_2dimHisto2dimHisto2dimhisto_2dim only considers the given RegionsRegionsRegionsregionsregions and ignores any previously set domain of the input images.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

RegionsRegionsRegionsregionsregions (input_object)  region(-array) objectHRegionHObjectHObjectHobject

Region in which the histogram is to be calculated.

ImageColImageColImageColimageColimage_col (input_object)  (multichannel-)image objectHImageHObjectHObjectHobject (byte / direction / cyclic / int1)

Channel 1.

ImageRowImageRowImageRowimageRowimage_row (input_object)  (multichannel-)image objectHImageHObjectHObjectHobject (byte / direction / cyclic / int1)

Channel 2.

Histo2DimHisto2DimHisto2Dimhisto2Dimhisto_2dim (output_object)  image objectHImageHObjectHObjectHobject * (int4)

Histogram to be calculated.

Example (HDevelop)

read_image(Image,'monkey')
get_domain (Image, Domain)
gauss_filter (Image, ImageGauss, 7)
histo_2dim(Domain,ImageGauss, Image,Histo2Dim)
dev_display(Histo2Dim)

Example (C)

read_image(&Image,"monkey");
get_domain (Image, &Domain)
gauss_filter(Image,&ImageGauss,7);
histo_2dim(Domain,Image,ImageGauss,&Histo2Dim);
set_part(WindowHandle,0,0,511,511);
disp_image(Histo2Dim,WindowHandle);

Example (HDevelop)

read_image(Image,'monkey')
get_domain (Image, Domain)
gauss_filter (Image, ImageGauss, 7)
histo_2dim(Domain,ImageGauss, Image,Histo2Dim)
dev_display(Histo2Dim)

Example (HDevelop)

read_image(Image,'monkey')
get_domain (Image, Domain)
gauss_filter (Image, ImageGauss, 7)
histo_2dim(Domain,ImageGauss, Image,Histo2Dim)
dev_display(Histo2Dim)

Complexity

If F is the plane of the region, the runtime complexity is O(F + 256^2).

Result

The operator histo_2dimhisto_2dimHisto2dimHisto2dimhisto_2dim returns the value 2 ( H_MSG_TRUE) if both images have defined gray values. The behavior in case of empty input (no input images available) is set via the operator set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>), the behavior in case of empty region is set via set_system(::'empty_region_result',<Result>:)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>). If necessary an exception is raised.

Possible Predecessors

decompose3decompose3Decompose3Decompose3decompose3, decompose2decompose2Decompose2Decompose2decompose2, draw_regiondraw_regionDrawRegionDrawRegiondraw_region

Possible Successors

thresholdthresholdThresholdThresholdthreshold, class_2dim_supclass_2dim_supClass2dimSupClass2dimSupclass_2dim_sup, pouringpouringPouringPouringpouring, local_maxlocal_maxLocalMaxLocalMaxlocal_max, gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton

Alternatives

gray_histogray_histoGrayHistoGrayHistogray_histo, gray_histo_absgray_histo_absGrayHistoAbsGrayHistoAbsgray_histo_abs

See also

get_grayvalget_grayvalGetGrayvalGetGrayvalget_grayval

Module

Foundation