check_differencecheck_differenceCheckDifferenceCheckDifference (Operator)

Name

check_differencecheck_differenceCheckDifferenceCheckDifference — Pixelweises Vergleichen zweier Bilder.

Signatur

check_difference(Image, Pattern : Selected : Mode, DiffLowerBound, DiffUpperBound, GrayOffset, AddRow, AddCol : )

Herror check_difference(const Hobject Image, const Hobject Pattern, Hobject* Selected, const char* Mode, const Hlong DiffLowerBound, const Hlong DiffUpperBound, const Hlong GrayOffset, const Hlong AddRow, const Hlong AddCol)

Herror T_check_difference(const Hobject Image, const Hobject Pattern, Hobject* Selected, const Htuple Mode, const Htuple DiffLowerBound, const Htuple DiffUpperBound, const Htuple GrayOffset, const Htuple AddRow, const Htuple AddCol)

void CheckDifference(const HObject& Image, const HObject& Pattern, HObject* Selected, const HTuple& Mode, const HTuple& DiffLowerBound, const HTuple& DiffUpperBound, const HTuple& GrayOffset, const HTuple& AddRow, const HTuple& AddCol)

HRegion HImage::CheckDifference(const HImage& Pattern, const HString& Mode, Hlong DiffLowerBound, Hlong DiffUpperBound, Hlong GrayOffset, Hlong AddRow, Hlong AddCol) const

HRegion HImage::CheckDifference(const HImage& Pattern, const char* Mode, Hlong DiffLowerBound, Hlong DiffUpperBound, Hlong GrayOffset, Hlong AddRow, Hlong AddCol) const

HRegion HImage::CheckDifference(const HImage& Pattern, const wchar_t* Mode, Hlong DiffLowerBound, Hlong DiffUpperBound, Hlong GrayOffset, Hlong AddRow, Hlong AddCol) const   (Nur Windows)

static void HOperatorSet.CheckDifference(HObject image, HObject pattern, out HObject selected, HTuple mode, HTuple diffLowerBound, HTuple diffUpperBound, HTuple grayOffset, HTuple addRow, HTuple addCol)

HRegion HImage.CheckDifference(HImage pattern, string mode, int diffLowerBound, int diffUpperBound, int grayOffset, int addRow, int addCol)

Beschreibung

check_differencecheck_differenceCheckDifferenceCheckDifferenceCheckDifference wählt aus dem Eingabebild die Bildpunkte (g_{o} = g_{ImageImageImageImageimage}) aus, deren Grauwertabweichung von den entsprechenden Pixel in PatternPatternPatternPatternpattern abhängig vom Parameter ModeModeModeModemode innerhalb bzw. außerhalb des vorgegebenen Werteintervalls [DiffLowerBoundDiffLowerBoundDiffLowerBoundDiffLowerBounddiffLowerBound,DiffUpperBoundDiffUpperBoundDiffUpperBoundDiffUpperBounddiffUpperBound] liegt. Sei g_{p} der Grauwert aus PatternPatternPatternPatternpattern, der gegenüber g_{o} um den Vektor (AddRowAddRowAddRowAddRowaddRow,AddColAddColAddColAddColaddCol) verschoben ist.

Dann werden im Modus 'diff_inside' die Pixel g_{o} selektiert mit und im Modus 'diff_outside' die g_{o} mit g_o - g_p - GrayOffset < DiffLowerBound oder g_o - g_p - GrayOffset > DiffUpperBound

Dieser Test wird für alle Bildpunkte aus dem Definitionsbereich von ImageImageImageImageimage, geschnitten mit dem verschobenen Definitionsbereich von PatternPatternPatternPatternpattern, durchgeführt. Alle Punkte, die die obige Bedingung erfüllen, werden in der Ausgaberegion gespeichert. Die beiden Bilder können unterschiedliche Größe haben. Typischerweise ist PatternPatternPatternPatternpattern kleiner als ImageImageImageImageimage.

Ausführungsinformationen

Parameter

ImageImageImageImageimage (input_object)  singlechannelimage(-array) objectHImageHImageHobject (byte)

Eingabebild.

PatternPatternPatternPatternpattern (input_object)  singlechannelimage(-array) objectHImageHImageHobject (byte)

Vergleichsbild.

SelectedSelectedSelectedSelectedselected (output_object)  region(-array) objectHRegionHRegionHobject *

Punkte, in denen sich die Bilder ähneln/unterscheiden.

ModeModeModeModemode (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Modus: bestimme ähnliche oder verschiedene Pixel.

Defaultwert: 'diff_outside' "diff_outside" "diff_outside" "diff_outside" "diff_outside"

Wertevorschläge: 'diff_inside'"diff_inside""diff_inside""diff_inside""diff_inside", 'diff_outside'"diff_outside""diff_outside""diff_outside""diff_outside"

DiffLowerBoundDiffLowerBoundDiffLowerBoundDiffLowerBounddiffLowerBound (input_control)  number HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Untere Grenze der erlaubten Grauwertdifferenz.

Defaultwert: -5

Wertevorschläge: 0, -1, -2, -3, -5, -7, -10, -12, -15, -17, -20, -25, -30

Typischer Wertebereich: -255 ≤ DiffLowerBound DiffLowerBound DiffLowerBound DiffLowerBound diffLowerBound ≤ 255 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 2

Restriktion: -255 <= DiffLowerBound && DiffLowerBound <= 255

DiffUpperBoundDiffUpperBoundDiffUpperBoundDiffUpperBounddiffUpperBound (input_control)  number HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Obere Grenze der erlaubten Grauwertdifferenz.

Defaultwert: 5

Wertevorschläge: 0, 1, 2, 3, 5, 7, 10, 12, 15, 17, 20, 25, 30

Typischer Wertebereich: -255 ≤ DiffUpperBound DiffUpperBound DiffUpperBound DiffUpperBound diffUpperBound ≤ 255 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 2

Restriktion: -255 <= DiffUpperBound && DiffUpperBound <= 255

GrayOffsetGrayOffsetGrayOffsetGrayOffsetgrayOffset (input_control)  number HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Korrekturgrauwert, der im Eingabebild abgezogen wird.

Defaultwert: 0

Wertevorschläge: -30, -25, -20, -17, -15, -12, -10, -7, -5, -3, -2, -1, 0, 1, 2, 3, 5, 7, 10, 12, 15, 17, 20, 25, 30

Typischer Wertebereich: -255 ≤ GrayOffset GrayOffset GrayOffset GrayOffset grayOffset ≤ 255 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 2

Restriktion: -255 <= GrayOffset && GrayOffset <= 255

AddRowAddRowAddRowAddRowaddRow (input_control)  point.y HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Zeilenkoordinate, um die das Vergleichsbild verschoben wird.

Defaultwert: 0

Wertevorschläge: -200, -100, -20, -10, 0, 10, 20, 100, 200

Typischer Wertebereich: -32000 ≤ AddRow AddRow AddRow AddRow addRow ≤ 32000 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

AddColAddColAddColAddColaddCol (input_control)  point.x HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Spaltenkoordinate, um die das Vergleichsbild verschoben wird.

Defaultwert: 0

Wertevorschläge: -200, -100, -20, -10, 0, 10, 20, 100, 200

Typischer Wertebereich: -32000 ≤ AddCol AddCol AddCol AddCol addCol ≤ 32000 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Komplexität

Sei A die Anzahl der gültigen Pixel, dann ist die Laufzeitkomplexität: O(A).

Ergebnis

check_differencecheck_differenceCheckDifferenceCheckDifferenceCheckDifference liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Für das Verhalten bzgl. der Eingabebilder und Ausgaberegionen sind die Flags 'no_object_result'"no_object_result""no_object_result""no_object_result""no_object_result", 'empty_region_result'"empty_region_result""empty_region_result""empty_region_result""empty_region_result" und 'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region" einstellbar (siehe set_systemset_systemSetSystemSetSystemSetSystem). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

connectionconnectionConnectionConnectionConnection, select_shapeselect_shapeSelectShapeSelectShapeSelectShape, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, select_grayselect_graySelectGraySelectGraySelectGray, rank_regionrank_regionRankRegionRankRegionRankRegion, dilation1dilation1Dilation1Dilation1Dilation1, openingopeningOpeningOpeningOpening

Alternativen

sub_imagesub_imageSubImageSubImageSubImage, dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThreshold

Modul

Foundation