min_max_graymin_max_grayMinMaxGrayMinMaxGray (Operator)

Name

min_max_graymin_max_grayMinMaxGrayMinMaxGray — Minimale und maximale Grauwerte innerhalb von Regionen.

Signatur

min_max_gray(Regions, Image : : Percent : Min, Max, Range)

Herror min_max_gray(const Hobject Regions, const Hobject Image, double Percent, double* Min, double* Max, double* Range)

Herror T_min_max_gray(const Hobject Regions, const Hobject Image, const Htuple Percent, Htuple* Min, Htuple* Max, Htuple* Range)

void MinMaxGray(const HObject& Regions, const HObject& Image, const HTuple& Percent, HTuple* Min, HTuple* Max, HTuple* Range)

void HImage::MinMaxGray(const HRegion& Regions, const HTuple& Percent, HTuple* Min, HTuple* Max, HTuple* Range) const

void HImage::MinMaxGray(const HRegion& Regions, double Percent, double* Min, double* Max, double* Range) const

void HRegion::MinMaxGray(const HImage& Image, const HTuple& Percent, HTuple* Min, HTuple* Max, HTuple* Range) const

void HRegion::MinMaxGray(const HImage& Image, double Percent, double* Min, double* Max, double* Range) const

static void HOperatorSet.MinMaxGray(HObject regions, HObject image, HTuple percent, out HTuple min, out HTuple max, out HTuple range)

void HImage.MinMaxGray(HRegion regions, HTuple percent, out HTuple min, out HTuple max, out HTuple range)

void HImage.MinMaxGray(HRegion regions, double percent, out double min, out double max, out double range)

void HRegion.MinMaxGray(HImage image, HTuple percent, out HTuple min, out HTuple max, out HTuple range)

void HRegion.MinMaxGray(HImage image, double percent, out double min, out double max, out double range)

Beschreibung

min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGray erstellt das Histogramm der absoluten Häufigkeiten der Grauwerte innerhalb von RegionsRegionsRegionsRegionsregions im Eingabebild ImageImageImageImageimage (siehe gray_histogray_histoGrayHistoGrayHistoGrayHisto) und berechnet die Anzahl der Bildpunkte, die PercentPercentPercentPercentpercent der Fläche des Eingabebildes entspricht. Daraufhin wird auf beiden Seiten des Histogramms um diese Anzahl von Bildpunkten nach innen gegangen und der kleinste und größte Grauwert bestimmt: z.B.: Fläche = 60, Prozent = 5, d.h. 3 Bildpunkte Histogramm = [2,8,0,7,13,0,0,...,0,10,10,5,3,1,1] => Maximum = 255, Minimum = 0, Spanne = 255 min_max_gray liefert: Maximum = 253, Minimum = 1, Spanne = 252

Für Bilder vom Typ int4, int8 und real wird die obige Berechnung nicht über Histogramme sondern über Selektion des entsprechenden Grauwertes durchgeführt. Wird PercentPercentPercentPercentpercent auf 50 gesetzt, dann ist MinMinMinMinmin = MaxMaxMaxMaxmax = Median. Wenn PercentPercentPercentPercentpercent gleich 0 ist, dann wird kein Histogramm berechnet, um die Laufzeit zu verbessern.

Achtung

Der Operator min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGray berücksichtigt nur die mittels RegionsRegionsRegionsRegionsregions übergebenen Regionen und ignoriert jede Domäne, die zuvor für das Eingabebild ImageImageImageImageimage festgelegt wurde.

Ausführungsinformationen

Parameter

RegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHobject

Regionen, deren Merkmale berechnet werden sollen.

ImageImageImageImageimage (input_object)  singlechannelimage objectHImageHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real)

Grauwertdaten.

PercentPercentPercentPercentpercent (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Prozentsatz unterhalb (oberhalb) des absoluten Maximums (Minimums).

Defaultwert: 0

Wertevorschläge: 0, 1, 2, 5, 7, 10, 15, 20, 30, 40, 50

Restriktion: 0 <= Percent && Percent <= 50

MinMinMinMinmin (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

„Minimaler“ Grauwert.

MaxMaxMaxMaxmax (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

„Maximaler“ Grauwert.

Zusicherung: Max >= Min

RangeRangeRangeRangerange (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Differenz aus Max und Min.

Zusicherung: Range >= 0

Beispiel (HDevelop)

* Threshold segmentation with training region:
read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
min_max_gray(Region,Image,5,Min,Max,Range)
threshold(Image,SegmentedRegion,Min,Max)
dev_display(SegmentedRegion)

Beispiel (C)

/* Threshold segmentation with training region: */
read_image(&Image,"fabrik");
draw_region(&Region,WindowHandle);
min_max_gray(Region,Image,5.0,&Min,&Max,NULL);
threshold(Image,&SegmentedRegion,Min,Max);
disp_region(SegmentedRegion,WindowHandle);

Beispiel (HDevelop)

* Threshold segmentation with training region:
read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
min_max_gray(Region,Image,5,Min,Max,Range)
threshold(Image,SegmentedRegion,Min,Max)
dev_display(SegmentedRegion)

Beispiel (HDevelop)

* Threshold segmentation with training region:
read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
min_max_gray(Region,Image,5,Min,Max,Range)
threshold(Image,SegmentedRegion,Min,Max)
dev_display(SegmentedRegion)

Beispiel (HDevelop)

* Threshold segmentation with training region:
read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
min_max_gray(Region,Image,5,Min,Max,Range)
threshold(Image,SegmentedRegion,Min,Max)
dev_display(SegmentedRegion)

Ergebnis

min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGray liefert den Wert 2 (H_MSG_TRUE), falls das Eingabebild definierte Grauwerte besitzt und die Parameter korrekt sind. 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>)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>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>) festgelegt. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

draw_regiondraw_regionDrawRegionDrawRegionDrawRegion, gen_circlegen_circleGenCircleGenCircleGenCircle, gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipse, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1, thresholdthresholdThresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing

Nachfolger

thresholdthresholdThresholdThresholdThreshold

Alternativen

select_grayselect_graySelectGraySelectGraySelectGray, intensityintensityIntensityIntensityIntensity

Siehe auch

gray_histogray_histoGrayHistoGrayHistoGrayHisto, scale_imagescale_imageScaleImageScaleImageScaleImage, scale_image_maxscale_image_maxScaleImageMaxScaleImageMaxScaleImageMax, learn_ndim_normlearn_ndim_normLearnNdimNormLearnNdimNormLearnNdimNorm

Modul

Foundation