KlassenKlassenKlassenKlassen | | | | Operatoren

histo_2dimhisto_2dimHisto2dimhisto_2dimHisto2dimHisto2dim (Operator)

Name

histo_2dimhisto_2dimHisto2dimhisto_2dimHisto2dimHisto2dim — Histogramm von zweikanaligen Grauwertbildern.

Signatur

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)

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

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

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

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

void HOperatorSetX.Histo2dim(
[in] IHUntypedObjectX* Regions, [in] IHUntypedObjectX* ImageCol, [in] IHUntypedObjectX* ImageRow, [out] IHUntypedObjectX*Histo2Dim)

IHImageX* HImageX.Histo2dim(
[in] IHRegionX* Regions, [in] IHImageX* ImageRow)

IHImageX* HRegionX.Histo2dim(
[in] IHImageX* ImageCol, [in] IHImageX* ImageRow)

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)

Beschreibung

histo_2dimhisto_2dimHisto2dimhisto_2dimHisto2dimHisto2dim berechnet das 2-dimensionale Histogramm von zwei Bildern innerhalb von RegionsRegionsRegionsRegionsRegionsregions. Die Grauwerte von Kanal 1 (ImageColImageColImageColImageColImageColimageCol) werden als Zeilenindex, diejenigen von Kanal 2 (ImageRowImageRowImageRowImageRowImageRowimageRow) als Spaltenindex interpretiert. Der Grauwert an einem Punkt P(g1,g2) im Ergebnisbild Histo2DimHisto2DimHisto2DimHisto2DimHisto2Dimhisto2Dim gibt die Häufigkeit der Grauwertkombination (g1,g2) an, wobei g1 den Zeilen- und g2 den Spaltenindex darstellt.

Achtung

Der Operator histo_2dimhisto_2dimHisto2dimhisto_2dimHisto2dimHisto2dim berücksichtigt nur die mittels RegionsRegionsRegionsRegionsRegionsregions übergebenen Regionen und ignoriert jede Domäne, die zuvor für die Eingabebilder festgelegt wurde.

Parallelisierung

Parameter

RegionsRegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Region, in der das Histogramm berechnet werden soll.

ImageColImageColImageColImageColImageColimageCol (input_object)  (multichannel-)image objectHImageHImageHImageHImageXHobject (byte / direction / cyclic / int1)

Kanal 1.

ImageRowImageRowImageRowImageRowImageRowimageRow (input_object)  (multichannel-)image objectHImageHImageHImageHImageXHobject (byte / direction / cyclic / int1)

Kanal 2.

Histo2DimHisto2DimHisto2DimHisto2DimHisto2Dimhisto2Dim (output_object)  image objectHImageHImageHImageHImageXHobject * (int4)

Zu berechnendes Histogramm.

Beispiel (HDevelop)

read_image(Image,'monkey')
texture_laws(Image,Texture,'el',1,5)
draw_region(Region,WindowHandle)
histo_2dim(Region,Texture,Image,Histo2Dim)
disp_image(Histo2Dim,WindowHandle)

Beispiel (C)

read_image(&Image,"monkey");
texture_laws(Image,&Texture,"el",1,5);
draw_region(&Region,WindowHandle);
histo_2dim(Region,Texture,Image,&Histo2Dim);
set_part(WindowHandle,0,0,255,255);
disp_image(Histo2Dim,WindowHandle);

Beispiel (HDevelop)

read_image(Image,'monkey')
texture_laws(Image,Texture,'el',1,5)
draw_region(Region,WindowHandle)
histo_2dim(Region,Texture,Image,Histo2Dim)
disp_image(Histo2Dim,WindowHandle)

Beispiel (C++ (HALCON 5.0-10.0))

#include  "HalconCpp.h"
using namespace Halcon;
#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif

main()
{
  HImage   img ("monkey");
  HImage   tex = img.LawsByte ("el", 1, 5);
  HWindow  w;

  img.Display (w);
  w.Click ();
  HRegion     reg = w.DrawRegion ();
  HImage      h2d = reg.Histo2dim (tex, img);
  w.SetPart (0, 0, 255, 255);
  h2d.Display (w);
  w.Click ();
  return(0);
}

Beispiel (HDevelop)

read_image(Image,'monkey')
texture_laws(Image,Texture,'el',1,5)
draw_region(Region,WindowHandle)
histo_2dim(Region,Texture,Image,Histo2Dim)
disp_image(Histo2Dim,WindowHandle)

Beispiel (HDevelop)

read_image(Image,'monkey')
texture_laws(Image,Texture,'el',1,5)
draw_region(Region,WindowHandle)
histo_2dim(Region,Texture,Image,Histo2Dim)
disp_image(Histo2Dim,WindowHandle)

Komplexität

Sei F die Fläche der Region, dann beträgt die Laufzeitkomplexität O(F + 256^2).

Ergebnis

histo_2dimhisto_2dimHisto2dimhisto_2dimHisto2dimHisto2dim liefert den Wert 2 (H_MSG_TRUE), falls die beiden Bilder definierte Grauwerte haben. Das Verhalten bei leerer Eingabe (keine Eingabebilder) wird mit set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>), das bei leerer Region mit set_system(::'empty_region_result',<Result>:)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>) festgelegt. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

decompose3decompose3Decompose3decompose3Decompose3Decompose3, decompose2decompose2Decompose2decompose2Decompose2Decompose2, draw_regiondraw_regionDrawRegiondraw_regionDrawRegionDrawRegion

Nachfolger

thresholdthresholdThresholdthresholdThresholdThreshold, class_2dim_supclass_2dim_supClass2dimSupclass_2dim_supClass2dimSupClass2dimSup, pouringpouringPouringpouringPouringPouring, local_maxlocal_maxLocalMaxlocal_maxLocalMaxLocalMax, gray_skeletongray_skeletonGraySkeletongray_skeletonGraySkeletonGraySkeleton

Alternativen

gray_histogray_histoGrayHistogray_histoGrayHistoGrayHisto, gray_histo_absgray_histo_absGrayHistoAbsgray_histo_absGrayHistoAbsGrayHistoAbs

Siehe auch

get_grayvalget_grayvalGetGrayvalget_grayvalGetGrayvalGetGrayval

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren