Thema: Briefmarken Software: Phila Color Check zur Bestimmung von Briefmarken Farben
TheQ Am: 24.05.2020 20:28:14 Gelesen: 39456# 85@  
@ Ben 11 [#79]

Hallo Ben, hallo Thomas

jetzt muss ich hinten anfangen.

Die Idee mit der Datenbank hatte ich auch immer so verstanden wie Thomas sie formuliert hat [#81]. Nicht als zentrale Datenbank die z.B. auf einem Server liegt, sondern als lokale die sich jeder anlegen kann.

Die Ideen von Thomas gehen ja schon ziemlich weit. Das dauert sich einig Zeit. Zumindest den Teil mit der lokalen Datenbank baue ich gerade ein. Man kann sich dann eine (oder mehrere) "private" Datenbanken anlegen und sie mit Farben "füttern" die man aus dem Scan von Marken oder Farbführern bekommt, inkl. Angabe von Name, Farbwert, Kommentar.

Das Programm könnte dann bei der Analyse, die Farben aus der Datenbank wählen, die am nächsten an den dominanten Farben der Marke liegen.

Das Zentroid-Verfahren sieht auch interessant aus - muss mich aber erst noch richtig einlesen.

Mir ist jedoch nicht ganz klar, warum Du für eine einzelne Marke eine Clusteranalyse machen möchtest.

Derzeit mache ich die Ermittlung der dominanten Farben auch mit einer - sagen wir mal Clusteranalyse "light". Irgendwie muss das Programm aus den gescannten Bild die ein, zwei, drei, ... Farben ermitteln, die man (am besten natürlich wie ein Mensch) für den Vergleich z.B. mit Farben aus einer Datenbank heranzieht.

Als Beispiel noch mal dieses Bild. Das Bild besteht aus 18.400 verschiedenen Farben. Welche Farbe(n) soll das Programm für den Vergleich mit einer Farbdatenbank wählen? Die dominaten Farben sollen idealerweise die zwei, drei sein, die ein Mensch aus den 18.400 wählen würde um sie gegen einen Farbführer zu vergleichen.



Das Arbeiten mit größeren Datensätze mit mehreren Marken wäre ein zweiter Anwendungsfall für eine Clusteranalyse.

Evtl. macht es auch Sinn, für die beiden Anwendungsfälle verschiedene Clusteranalyse Verfahren zu wählen.

Kannst Du mir bitte mal für eine Messung die Rohdaten z.B. als *.csv Datei schicken?

Ja, kann ich machen. Die Rohdaten sind eigentlich nur die Liste aller verwendeten Farben und die jeweils zugehörige Pixelanzahl pro Farbe. In der nächsten Version kannst du dir die Rohdaten auch einfach selbst exportieren. Einfach die Toleranz auf 0 setzen. Dann enthält der Export (csv) alle Farben mit zugehöriger Pixelanzahl.

Und erkläre mir bitte mal, wie Du die Daten auswertest.
Zuerst mache ich die Zählung der Pixel pro verwendeter Farbe. Das sind dann die Rohdaten.

Eine Farbe im Programm, besteht aus diesen Attributen
- Rotanteil (0...255)
- Grünanteil (0...255)
- Blauanteil (0...255)
- Anzahl Pixel für diese Farbe
- Dominanzwert (steht vor der Analyse auf dem gleichen Wert wie die Anzahl Pixel)

Dann wird jede (verwendete) Farbe im RGB Farbraum untersucht.

Wenn der euklidische Abstand, zu einer Nachbarfarbe im Farbraum, kleiner ist als die (vom Benutzer) eingestellte Toleranz, wird, zu dem Dominanzwert der untersuchten Farbe folgendes addiert: (Anzahl Pixel der Nachbarfarbe)/ (euklidischer Abstand zur Nachbarfarbe / 100).

Damit wächst der Dominanzwert um so mehr, je kleiner der Abstand zur Nachbarfarbe ist und je mehr Pixel die Nachbarfarbe hat.

Wenn alle Farben analysiert sind, werden sie nach dem Dominanzwert sortiert.
Die erste Dominante Farbe, ist die mit dem höchsten Dominanzwert. Alle folgenden Farben (gemäß der Sortierung) werden ignoriert, sofern sie innerhalb des Toleranzabstand liegen.

Die zweite Dominante Farbe, ist die, die gerade nicht mehr innerhalb des Toleranzabstand der ersten dominanten Farbe fällt.

Die dritte Dominante Farbe, ist die, die gerade nicht mehr innerhalb des Toleranzabstand der zweiten dominanten Farbe fällt.
usw.

LG
Dietmar
 
Quelle: www.philaseiten.de
https://www.philaseiten.de/thema/14272
https://www.philaseiten.de/beitrag/234429