Zum Hauptinhalt springen

Bildobjekt binarisieren (:binaryzation)

Deklaration

bild = bild:binaryzation({
[white_background = Weißer_Hintergrund,]
[csim_mode = Ähnlichkeitsmodus,]
[csim_algorithm = Farbähnlichkeitsalgorithmus,]
{Farbe*, Farbtoleranz*},
{Farbe*, Farbtoleranz*},
...
})
bild = bild:binaryzation("cx*-cox*,cx*-cox*...")

Parameter

  • Weißer Hintergrund (unterstützt ab Version 20250302)
    Boolescher Wert; optional, legt fest, ob der Hintergrund weiß gesetzt wird, standardmäßig false, also weißer Vordergrund und schwarzer Hintergrund

  • Ähnlichkeitsmodus (unterstützt ab Version 20250302)
    Boolescher Wert; optional, legt fest, ob der Ähnlichkeitsmodus verwendet wird. In diesem Modus steht Farbtoleranz* für die Ähnlichkeit statt für den Farbunterschied, standardmäßig false

  • Farbähnlichkeitsalgorithmus (unterstützt ab Version 20250302)
    Ganzzahl; optional, Farbähnlichkeitsalgorithmus, nur im Ähnlichkeitsmodus wirksam, standardmäßig 0

    Farbähnlichkeitsalgorithmus
    0 ist der XXT-Standardalgorithmus: steiler Gradient, die Ähnlichkeit sinkt bei Abweichungen schnell.
    1 ist der Manhattan-Algorithmus mit sanftem Gradient.
    2 ist der euklidische Algorithmus mit sanftem Gradient.
  • Farbe*, Farbtoleranz*
    Ganzzahlen; Whitelist von Farbwerten. Farbe* ist der Farbwert selbst, Farbtoleranz* der maximale Farbunterschied von Farbe*.

  • cx*-cox*
    Text; Whitelist von Farbwerten. cx* ist die hexadezimale Textdarstellung des Farbwerts, cox* ist die hexadezimale Textdarstellung des maximalen Farbunterschieds von cx*.

Rückgabewert

  • Bild
    Bildobjekt; gibt nach der Binärisierung das Bildobjekt selbst zurück

Beschreibung

Binarisiert ein Bildobjekt.
Das Objekt selbst wird verändert.
Während der Ausführung werden aus Performancegründen keine Daten kopiert.

Beispiel

local pic = screen.image(462, 242, 569, 272)
pic = pic:binaryzation({
{0x9D5D39, 0x0F1F26},
{0xD3D3D2, 0x2C2C2D},
})
local pic = screen.image(462, 242, 569, 272)
pic = pic:binaryzation("9D5D39-0F1F26,D3D3D2-2C2C2D")
local pic = screen.image(462, 242, 569, 272)
pic = pic:binaryzation({
csim_mode = true, -- Ähnlichkeitsmodus verwenden
csim_algorithm = 2, -- Euklidischen Algorithmus verwenden
white_background = true, -- Hintergrund weiß setzen
{0x9D5D39, 90}, -- Ähnlichkeit der Farbe 0x9D5D39 beträgt 90 %
{0xD3D3D2, 90}, -- Ähnlichkeit der Farbe 0xD3D3D2 beträgt 90 %
})