[linux-l] picdiff - ein Werkzeug für Bildvergleiche (was: Fonts in C)

Volker Grabsch vog at notjusthosting.com
Mo Dez 17 00:20:14 CET 2007


On Sun, Dec 16, 2007 at 10:41:08PM +0100, Oliver Bandel wrote:
> Zitat von Volker Grabsch <vog at notjusthosting.com>:
> > On Thu, Dec 13, 2007 at 11:24:56PM +0100, Oliver Bandel wrote:
> > > Hallo, hier also das komplett nutzlose, anwendungsfreie Zeugs.
> > > [...]
> >
> > Aber vorallem die letzten Ergebnisse wären mit ImageMagick
> > ziemlich umständlich zu erreichen, oder?
> [...]
> 
> Keine Ahnung.
> Ich behalte mir vor, meine Lösungen selbst zu erarbeiten.
> Meist fahre ich damit besser, auch wenn nicht immer alle verstehen,
> wies ich was mache und was dabei heraus kommt.

Nicht das Selberbauen verwundert mich, sondern das Nichterforschen
der Alternativen.

> > BTW, das '-' in deiner Sprache ist keine 'echte' Differenz, oder?
> > Sonst müsste beim letzten Kommando ja eigentlich ein komplett
> > schwarzes Bild herauskommen, denn
> >
> >     (avg(x,y)-x) + (avg(x,y)-y) = 0
> 
> Stimmt, ich war selber schon etwas verwundert, als ich die Formel
> herunter schrieb ;-)
> 
> Aber ich hatte keinen Nerv, es genauer auszuformulieren.

Daher meine Nachfrage.

> Deshalb der Schnellschuß mit "Da! Ihr wollt Bilda seeeehn, da hapta
> se!".

Ist ja auch richtig. "Release early, release often." :-)

> > Was hast du für die Differenz genommen?
> > abs(x-y) oder max(x-y,0) oder was?
> [...]
> 
> Wenn man sich übder die Sachen gedanken macht, die man macht,
> dann weiss man, daß die Differeenz sinnvoll ist, aber nicht im
> rein arithmetischen Sinne.

Eben. :-)

> Wenn man sich da was überlegt, was man denn nehmen soll, um eine
> Differenz zu erzeugen, die in diesem Falle auch sinn macht,
> dann nimt man folgende:
> 
>   diff_pixel x1 x2 := if x2 > x1 then 0 else x1 - x2

Also max(x1-x2,0), wie ich (als zweites) vermutete :-)

> Also clipping at lower value-border, denn es macht keinen Sinn,
> nicht darstellbare Farbwerte darstellen zu wollen.
> Es macht auch keinen Sinn, einen int-overflow in kauf zu nehmen.

> Wenn ein Bild  (bzw. Pixel) aufgrund einer Subtraktion abs. dunkel ist,
> also RGB-Wert auf 0 ist, dann macht ja wohl ein negativer Wert keinen
> Sinn, denn dunkler als garkein Licht geht ja nicht.

Ja, schon, aber man könnte den entsprechenden positiven Wert
nehmen, sodass 98 von 7 genauso weit entfernt ist wie 7 von 98.
Das wäre dann abs(x1-x2). Aber ich weiß auch nicht, was da
in der Bildverarbeitung üblich ist. Wahrscheinlich sollte man
einfach beides anbieten?


Gruß,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l