[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