histo_2dimhisto_2dimHisto2dimHisto2dimhisto_2dim (Operator)

Name

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

static void HOperatorSet.Histo2dim(HObject regions, HObject imageCol, HObject imageRow, out HObject histo2Dim)

HImage HImage.Histo2dim(HRegion regions, HImage imageRow)

HImage HRegion.Histo2dim(HImage imageCol, HImage imageRow)

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

Description

The operator histo_2dimhisto_2dimHisto2dimHisto2dimHisto2dimhisto_2dim calculates the 2-dimensional histogram of two images within RegionsRegionsRegionsRegionsregionsregions. The gray values of channel 1 (ImageColImageColImageColImageColimageColimage_col) are interpreted as row index, those of channel 2 (ImageRowImageRowImageRowImageRowimageRowimage_row) as column index. The gray value at one point P(g1,g2) in the output image Histo2DimHisto2DimHisto2DimHisto2Dimhisto2Dimhisto_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_2dimHisto2dimHisto2dimHisto2dimhisto_2dim only considers the given RegionsRegionsRegionsRegionsregionsregions and ignores any previously set domain of the input images.

Execution Information

Parameters

RegionsRegionsRegionsRegionsregionsregions (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Region in which the histogram is to be calculated.

ImageColImageColImageColImageColimageColimage_col (input_object)  (multichannel-)image objectHImageHObjectHImageHobject (byte / direction / cyclic / int1)

Channel 1.

ImageRowImageRowImageRowImageRowimageRowimage_row (input_object)  (multichannel-)image objectHImageHObjectHImageHobject (byte / direction / cyclic / int1)

Channel 2.

Histo2DimHisto2DimHisto2DimHisto2Dimhisto2Dimhisto_2dim (output_object)  image objectHImageHObjectHImageHobject * (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)

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_2dimHisto2dimHisto2dimHisto2dimhisto_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>)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>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>). If necessary an exception is raised.

Possible Predecessors

decompose3decompose3Decompose3Decompose3Decompose3decompose3, decompose2decompose2Decompose2Decompose2Decompose2decompose2, draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region

Possible Successors

thresholdthresholdThresholdThresholdThresholdthreshold, class_2dim_supclass_2dim_supClass2dimSupClass2dimSupClass2dimSupclass_2dim_sup, pouringpouringPouringPouringPouringpouring, local_maxlocal_maxLocalMaxLocalMaxLocalMaxlocal_max, gray_skeletongray_skeletonGraySkeletonGraySkeletonGraySkeletongray_skeleton

Alternatives

gray_histogray_histoGrayHistoGrayHistoGrayHistogray_histo, gray_histo_absgray_histo_absGrayHistoAbsGrayHistoAbsGrayHistoAbsgray_histo_abs

See also

get_grayvalget_grayvalGetGrayvalGetGrayvalGetGrayvalget_grayval

Module

Foundation