Name
gray_histo_rangegray_histo_rangeGrayHistoRangegray_histo_rangeGrayHistoRangeGrayHistoRange — Berechne die Grauwertverteilung eines einkanaligen Bildes innerhalb eines
bestimmten Grauwertbereichs.
Herror gray_histo_range(const Hobject Regions, const Hobject Image, double Min, double Max, const Hlong NumBins, Hlong* Histo, double* BinSize)
Herror T_gray_histo_range(const Hobject Regions, const Hobject Image, const Htuple Min, const Htuple Max, const Htuple NumBins, Htuple* Histo, Htuple* BinSize)
Herror gray_histo_range(Hobject Regions, Hobject Image, const HTuple& Min, const HTuple& Max, const HTuple& NumBins, Hlong* Histo, double* BinSize)
Herror gray_histo_range(Hobject Regions, Hobject Image, const HTuple& Min, const HTuple& Max, const HTuple& NumBins, HTuple* Histo, HTuple* BinSize)
Hlong HRegion::GrayHistoRange(const HImage& Image, const HTuple& Min, const HTuple& Max, const HTuple& NumBins, double* BinSize) const
HTuple HRegionArray::GrayHistoRange(const HImage& Image, const HTuple& Min, const HTuple& Max, const HTuple& NumBins, HTuple* BinSize) const
void GrayHistoRange(const HObject& Regions, const HObject& Image, const HTuple& Min, const HTuple& Max, const HTuple& NumBins, HTuple* Histo, HTuple* BinSize)
HTuple HImage::GrayHistoRange(const HRegion& Regions, const HTuple& Min, const HTuple& Max, Hlong NumBins, double* BinSize) const
Hlong HImage::GrayHistoRange(const HRegion& Regions, double Min, double Max, Hlong NumBins, double* BinSize) const
HTuple HRegion::GrayHistoRange(const HImage& Image, const HTuple& Min, const HTuple& Max, Hlong NumBins, double* BinSize) const
Hlong HRegion::GrayHistoRange(const HImage& Image, double Min, double Max, Hlong NumBins, double* BinSize) const
void HOperatorSetX.GrayHistoRange(
[in] IHUntypedObjectX* Regions, [in] IHUntypedObjectX* Image, [in] VARIANT Min, [in] VARIANT Max, [in] VARIANT NumBins, [out] VARIANT* Histo, [out] VARIANT* BinSize)
VARIANT HImageX.GrayHistoRange(
[in] IHRegionX* Regions, [in] VARIANT Min, [in] VARIANT Max, [in] Hlong NumBins, [out] double* BinSize)
VARIANT HRegionX.GrayHistoRange(
[in] IHImageX* Image, [in] VARIANT Min, [in] VARIANT Max, [in] Hlong NumBins, [out] double* BinSize)
static void HOperatorSet.GrayHistoRange(HObject regions, HObject image, HTuple min, HTuple max, HTuple numBins, out HTuple histo, out HTuple binSize)
HTuple HImage.GrayHistoRange(HRegion regions, HTuple min, HTuple max, int numBins, out double binSize)
int HImage.GrayHistoRange(HRegion regions, double min, double max, int numBins, out double binSize)
HTuple HRegion.GrayHistoRange(HImage image, HTuple min, HTuple max, int numBins, out double binSize)
int HRegion.GrayHistoRange(HImage image, double min, double max, int numBins, out double binSize)
gray_histo_rangegray_histo_rangeGrayHistoRangegray_histo_rangeGrayHistoRangeGrayHistoRange erstellt die Grauwertverteilung HistoHistoHistoHistoHistohisto
des einkanaligen Bildes ImageImageImageImageImageimage innerhalb von RegionsRegionsRegionsRegionsRegionsregions
und des Grauwertbereichs
[MinMinMinMinMinmin,MaxMaxMaxMaxMaxmax]. Die Werte für MinMinMinMinMinmin und MaxMaxMaxMaxMaxmax
werden abgerundet falls das Bild ImageImageImageImageImageimage nicht vom Datentyp
'real'"real""real""real""real""real" ist. Der Grauwertbereich wird in NumBinsNumBinsNumBinsNumBinsNumBinsnumBins gleichgroße
Klassen aufgeteilt. Die Größe einer solchen Klasse wird in BinSizeBinSizeBinSizeBinSizeBinSizebinSize
ausgegeben. Liegt ein Grauwert zwischen zwei Klassen wird er immer der
kleineren Klasse zugeordnet.
Bei einem Bild vom Datentyp 'real'"real""real""real""real""real" ist die Klassengröße
BinSizeBinSizeBinSizeBinSizeBinSizebinSize = (MaxMaxMaxMaxMaxmax - MinMinMinMinMinmin) / NumBinsNumBinsNumBinsNumBinsNumBinsnumBins
. Bei einem Bild mit diskreten Grauwerten wird die Klassengröße über
BinSizeBinSizeBinSizeBinSizeBinSizebinSize = (MaxMaxMaxMaxMaxmax - MinMinMinMinMinmin + 1) /
NumBinsNumBinsNumBinsNumBinsNumBinsnumBins berechnet. Die Erstellung des Grauwerthistogramms
HistoHistoHistoHistoHistohisto über gray_histo_rangegray_histo_rangeGrayHistoRangegray_histo_rangeGrayHistoRangeGrayHistoRange eignet sich vor allem bei
Bildern vom Typ 'real'"real""real""real""real""real" und bei Bildern vom Typ 'integer'"integer""integer""integer""integer""integer" mit
hoher Bittiefe da über 'NumBins'"NumBins""NumBins""NumBins""NumBins""NumBins" die Genauigkeit des Histogramms
HistoHistoHistoHistoHistohisto beliebig angepasst werden kann.
Der Operator gray_histo_rangegray_histo_rangeGrayHistoRangegray_histo_rangeGrayHistoRangeGrayHistoRange berücksichtigt nur die mittels
RegionsRegionsRegionsRegionsRegionsregions übergebenen Regionen und ignoriert jede Domäne, die zuvor
für das Eingabebild ImageImageImageImageImageimage festgelegt wurde.
Bei einem Bild mit diskreten Grauwerten kann es in Abhängigkeit von
BinSizeBinSizeBinSizeBinSizeBinSizebinSize zu den folgenden Effekten kommen:
Für BinSizeBinSizeBinSizeBinSizeBinSizebinSize > 1 werden mehrere benachbarte
Grauwerte derselben Klasse zugeordnet. Ist BinSizeBinSizeBinSizeBinSizeBinSizebinSize dabei keine
natürliche Zahl werden die Grauwerte ungleichmäßig auf die Klassen verteilt
(Für BinSizeBinSizeBinSizeBinSizeBinSizebinSize = 1.5 werden beispielsweise die ersten
beiden Grauwerte der ersten Klasse, der dritte Grauwert der zweiten Klasse
und der vierte und fünfte Grauwert der dritten Klasse zugeordnet).
Dies macht sich durch einzelne Spitzen im Histogramm HistoHistoHistoHistoHistohisto
bemerkbar. Gilt BinSizeBinSizeBinSizeBinSizeBinSizebinSize < 1 werden je nach
BinSizeBinSizeBinSizeBinSizeBinSizebinSize einigen Klassen keine Grauwerte zugeordnet (Für
BinSizeBinSizeBinSizeBinSizeBinSizebinSize = 0.5 wird beispielsweise der erste Grauwert der
ersten Klasse und der zweite Grauwert der dritten Klasse zugeordnet). Das
Histogramm HistoHistoHistoHistoHistohisto weist dann einige Lücken auf, was der Strukur
eines Kamms ähnelt.
Bei einem Bild vom Datentyp 'real'"real""real""real""real""real" werden für
MinMinMinMinMinmin = MaxMaxMaxMaxMaxmax alle Pixel des entsprechenden Grauwertes nur
der ersten Klasse zugeordnet.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf interner Datenebene.
Region, in der das Histogramm berechnet werden soll.
MinMinMinMinMinmin (input_control) real → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Minimaler Grauwert.
Defaultwert: 0
Wertevorschläge: 0
MaxMaxMaxMaxMaxmax (input_control) real → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Maximaler Grauwert.
Defaultwert: 255
Wertevorschläge: 255
Restriktion: Max >= Min
Anzahl Klassen.
Defaultwert: 256
Wertevorschläge: 16, 32, 64, 128, 256
Restriktion: NumBins >= 1
Zu berechnendes Histogramm.
Sind die Parameterwerte korrekt, dann liefert
gray_histo_rangegray_histo_rangeGrayHistoRangegray_histo_rangeGrayHistoRangeGrayHistoRange den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine
Fehlerbehandlung durchgeführt.
min_max_graymin_max_grayMinMaxGraymin_max_grayMinMaxGrayMinMaxGray
create_funct_1d_arraycreate_funct_1d_arrayCreateFunct1dArraycreate_funct_1d_arrayCreateFunct1dArrayCreateFunct1dArray
gray_histogray_histoGrayHistogray_histoGrayHistoGrayHisto,
gray_histo_absgray_histo_absGrayHistoAbsgray_histo_absGrayHistoAbsGrayHistoAbs
histo_2dimhisto_2dimHisto2dimhisto_2dimHisto2dimHisto2dim,
scale_image_maxscale_image_maxScaleImageMaxscale_image_maxScaleImageMaxScaleImageMax
Foundation