check_differencecheck_differenceCheckDifferenceCheckDifferencecheck_difference (Operator)

Name

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

def check_difference(image: HObject, pattern: HObject, mode: str, diff_lower_bound: int, diff_upper_bound: int, gray_offset: int, add_row: int, add_col: int) -> HObject

Beschreibung

check_differencecheck_differenceCheckDifferenceCheckDifferencecheck_difference wählt aus dem Eingabebild die Bildpunkte ( ) aus, deren Grauwertabweichung von den entsprechenden Pixel in PatternPatternPatternpatternpattern abhängig vom Parameter ModeModeModemodemode innerhalb bzw. außerhalb des vorgegebenen Werteintervalls liegt. Sei der Grauwert aus PatternPatternPatternpatternpattern, der gegenüber um den Vektor verschoben ist.

Dann werden im Modus 'diff_inside'"diff_inside""diff_inside""diff_inside""diff_inside" die Pixel selektiert mit und im Modus 'diff_outside'"diff_outside""diff_outside""diff_outside""diff_outside" die 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) objectHImageHObjectHObjectHobject (byte)

Eingabebild.

PatternPatternPatternpatternpattern (input_object)  singlechannelimage(-array) objectHImageHObjectHObjectHobject (byte)

Vergleichsbild.

SelectedSelectedSelectedselectedselected (output_object)  region(-array) objectHRegionHObjectHObjectHobject *

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

ModeModeModemodemode (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Modus: bestimme ähnliche oder verschiedene Pixel.

Default: '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"

DiffLowerBoundDiffLowerBoundDiffLowerBounddiffLowerBounddiff_lower_bound (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Untere Grenze der erlaubten Grauwertdifferenz.

Default: -5

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

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

Minimale Schrittweite: 1

Empfohlene Schrittweite: 2

DiffUpperBoundDiffUpperBoundDiffUpperBounddiffUpperBounddiff_upper_bound (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Obere Grenze der erlaubten Grauwertdifferenz.

Default: 5

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

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

Minimale Schrittweite: 1

Empfohlene Schrittweite: 2

GrayOffsetGrayOffsetGrayOffsetgrayOffsetgray_offset (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Korrekturgrauwert, der im Eingabebild abgezogen wird.

Default: 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

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

Minimale Schrittweite: 1

Empfohlene Schrittweite: 2

AddRowAddRowAddRowaddRowadd_row (input_control)  point.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Zeilenkoordinate, um die das Vergleichsbild verschoben wird.

Default: 0

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

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

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

AddColAddColAddColaddColadd_col (input_control)  point.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Spaltenkoordinate, um die das Vergleichsbild verschoben wird.

Default: 0

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

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

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Komplexität

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

Ergebnis

check_differencecheck_differenceCheckDifferenceCheckDifferencecheck_difference 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_systemSetSystemSetSystemset_system). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

connectionconnectionConnectionConnectionconnection, select_shapeselect_shapeSelectShapeSelectShapeselect_shape, reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain, select_grayselect_graySelectGraySelectGrayselect_gray, rank_regionrank_regionRankRegionRankRegionrank_region, dilation1dilation1Dilation1Dilation1dilation1, openingopeningOpeningOpeningopening

Alternativen

sub_imagesub_imageSubImageSubImagesub_image, dyn_thresholddyn_thresholdDynThresholdDynThresholddyn_threshold

Modul

Foundation