min_max_graymin_max_grayMinMaxGrayMinMaxGray (Operator)
Name
min_max_graymin_max_grayMinMaxGrayMinMaxGray
— Minimale und maximale Grauwerte innerhalb von Regionen.
Signatur
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
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