min_max_graymin_max_grayMinMaxGrayMinMaxGraymin_max_gray (Operator)

Name

min_max_graymin_max_grayMinMaxGrayMinMaxGraymin_max_gray — 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)

def min_max_gray(regions: HObject, image: HObject, percent: Union[int, float]) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]

def min_max_gray_s(regions: HObject, image: HObject, percent: Union[int, float]) -> Tuple[float, float, float]

Beschreibung

min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGraymin_max_gray erstellt das Histogramm der absoluten Häufigkeiten der Grauwerte innerhalb von RegionsRegionsRegionsRegionsregionsregions im Eingabebild ImageImageImageImageimageimage (siehe gray_histogray_histoGrayHistoGrayHistoGrayHistogray_histo) und berechnet die Anzahl der Bildpunkte, die PercentPercentPercentPercentpercentpercent 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 PercentPercentPercentPercentpercentpercent auf 50 gesetzt, dann ist MinMinMinMinminmin = MaxMaxMaxMaxmaxmax = Median. Wenn PercentPercentPercentPercentpercentpercent gleich 0 ist, dann wird kein Histogramm berechnet, um die Laufzeit zu verbessern.

Achtung

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

Ausführungsinformationen

Parameter

RegionsRegionsRegionsRegionsregionsregions (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Regionen, deren Merkmale berechnet werden sollen.

ImageImageImageImageimageimage (input_object)  singlechannelimage objectHImageHObjectHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real)

Grauwertdaten.

PercentPercentPercentPercentpercentpercent (input_control)  number HTupleUnion[int, float]HTupleHtuple (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

MinMinMinMinminmin (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

„Minimaler“ Grauwert.

MaxMaxMaxMaxmaxmax (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

„Maximaler“ Grauwert.

Zusicherung: Max >= Min

RangeRangeRangeRangerangerange (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (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_grayMinMaxGrayMinMaxGrayMinMaxGraymin_max_gray liefert den Wert 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>)set_system("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>)set_system("empty_region_result",<Result>) festgelegt. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region, gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle, gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipsegen_ellipse, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1gen_rectangle1, thresholdthresholdThresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing

Nachfolger

thresholdthresholdThresholdThresholdThresholdthreshold

Alternativen

select_grayselect_graySelectGraySelectGraySelectGrayselect_gray, intensityintensityIntensityIntensityIntensityintensity

Siehe auch

gray_histogray_histoGrayHistoGrayHistoGrayHistogray_histo, scale_imagescale_imageScaleImageScaleImageScaleImagescale_image, scale_image_maxscale_image_maxScaleImageMaxScaleImageMaxScaleImageMaxscale_image_max, learn_ndim_normlearn_ndim_normLearnNdimNormLearnNdimNormLearnNdimNormlearn_ndim_norm

Modul

Foundation