PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmtest zur Farberkennung


aths
2005-01-18, 16:35:00
Das Thema meiner Belegarbeit lautet:

“Ausgehend von theoretischen Überlegungen ist in einer Testanwendung eine Farbreduktion vorzunehmen. Ziel dieser Untersuchung ist, Farbtöne (über einen Farbnamen) in Bildern zu finden. Es ist zu testen, ob ein Farbton möglichst unabhängig von der Sättigung und der Helligkeit ermittelt werden kann.

Eventuell auch Reduktion über das Ersetzen eines ausgewählten Bereiches durch eine Veränderung der Sättigung und/oder Helligkeit”

Konkret geht es dabei um Blüten, noch konkreter um Hibiskusblüten.

Das dazu erstellte Programm bietet einige weitere Feinheiten, die ich im Laufe der Zeit (im Moment lassen mir anstehende Prüfungen keine Zeit) noch vorstellen möchte. Zunächst wäre jedoch ein Stabilitätstest wichtig.

Download (http://www.aths.net/files/Farberkennung.rar) – Läuft das Programm problemlos?

edit: Gleicher Link, neue Version. Enhält neue Paletten, drei Beispiel-Bilder, und neue Funktionalität (Rechtsklick auf das Original-Bild, "HSL-Korrektur".)

edit2: Noch mal neue Version (gleicher Link) mit einigen gefixten Bugs. Außerdem kann jetzt auch eine .bmp-Datei auf das Fenster gezogen werden.


Einige Anwendungsbeispiele:

Bildfarben entzerren

Dieses Foto (http://www.aths.net/files/foto_blitzlicht.jpg) habe ich mit Blitzlicht aufgenommen, und dieses (http://www.aths.net/files/foto_deckenlicht.jpg) bei reiner Zimmerbeleuchtung (nachts.) Es hat einen derben Farbstich. Das Programm bietet einen (sehr einfachen) Ansatz zur Korrektur.

Der mitfotografierte Karton ist grau, wie man auf dem Blitzlicht-Foto sieht. Das Deckenlicht-Foto laden, Rechtsklick auf den Karton, "Auto-Eichen auf Grau" ist jedoch nicht verfügbar, da der Farbstich dermaßen hoch ist, dass das Programm eine Grau-Eichung nicht empfiehlt. Daher zunächst der Umweg über das Druckerpapier im Karton. Dort "Auto-Eichen auf Grau" anklicken.

Das Bild hat jetzt einen leichten Blaustich. Den kriegt man weg, wenn man jetzt auf den Karton noch mal "Auto-Eichen auf Grau" appliziert.

Man kann im Parameter-Dialog (F12) auch eine eigene Eich-Farbe wählen.


Blüte umkreisen

Das Blütenbild laden. Die gleichnamige Palette (Key_West) laden. Im Haupmenü / Paramter die experimentellen Menüs einschalten. Das Bild analysieren. Dann auf Ansicht "Markiert" umschalten. Je nach Lust und Laune mit dem Kreiskorrelations-Menü rumspielen.


Sättigung / Helligkeit ändern

Ganz frisch: Heute erst geproggt. In der Originalansicht rechts klicken, "HSL-Korrektur" wählen. Nun werden Regler eingeblendet, um Farbton, Sättigung und Helligkeit zu ändern. Man kann dabei zwischen HSL und HSV umschalten, welche Sättigung und Helligkeit unterschiedlich interpretieren. Für Sättigung und Helligkeit wird neben einer Verschiebung (der untere Regler) auch eine Gamma-Verzerrung angeboten (der obere Regler.) So kann man z. B. die Sättigung allgemeins ins Grau schieben, jedoch vollgesättigte Farben auch gesättigt lassen.

Bucko
2005-01-18, 16:40:16
Was soll man machen?

Einfach mal starten und schauen ob's läuft?

Das tut's.

Xero
2005-01-18, 16:45:40
ja geht soweit, nur der algorithmus scheint ein problem mit sehr komplexen bildern zu haben. zb 'dreckiges' metall. aber dafür ist er wohl nicht gedacht...

aths
2005-01-18, 16:46:49
Was soll man machen?Bilder einladen (.jpg oder .jpeg, geht auch per Drag&Drop) und dann rumspielen.

aths
2005-01-18, 16:51:45
ja geht soweit, nur der algorithmus scheint ein problem mit sehr komplexen bildern zu haben. zb 'dreckiges' metall. aber dafür ist er wohl nicht gedacht...Es gibt unterschiedliche Paletten zu Auswahl (die Paletten kann man auch editieren.) Über Hauptmenü / Parameter kann man die Berechnungsvariante einstellen. Es gibt auch Schnelltasten im Hauptfenster ("HSV" und "RGB").

Das Programm ist nicht dazu gedacht, insgesamt möglichst "gute" Farbzuordnung zu gewährleisten, sondern soll besonders den Farbton erkennen.

Per Rechtsklick ins Bild werden je nach Ansicht ("Original", "Reduziert"*) unterschiedliche Kontextmenüs angeboten.

* Um die reduzierte Ansicht zu erzeugen, muss man zuerst die Bildanalyse durchlaufen lassen.

Trap
2005-01-18, 17:07:53
Einige Texte und Controls liegen "außerhalb" des Fensters, was wahrscheinlich an meiner geänderten DPI-Einstellung liegt.

aths
2005-01-18, 17:17:14
Einige Texte und Controls liegen "außerhalb" des Fensters, was wahrscheinlich an meiner geänderten DPI-Einstellung liegt.Japp. Das Programm setzt normalgroße Schriftarten voraus.

RaumKraehe
2005-01-18, 20:31:48
Ja funktioniert so weit. Ein Bild geladen und nen bissl rumgespielt. Soweit ok.

ShadowXX
2005-01-18, 21:18:05
Auch auf meinen beiden Systemen keine Probleme .

Hab mit mehreren Bildern ausprobiert und dabei ein paar der Funktionalitäten ausprobiert....

Keine Bluescreen oder Abstürze ;)

Könntest du aber trotzdem nochmal etwas genauer erklären, wofür das Programm gedacht ist? (rein interessehalber..)

Ach vielleicht ist es ganz nützlich, wenn wir unsere Testsysteme dazuschreiben:
1.) A64 3800+, VIA K8T880, 1GB Ram, GF6800 Ultra (67.02)
2.)Duron 1400, SiS irgendetwas, 256MB Ram, GF4MX (45.23(???))

P.S.
im Prinzip könnte man das ja auch gleichzeitig noch als Benchmark missbrauchen ;D

P.S.S.
warum nur Bilder bis 1280x1024??

Coda
2005-01-18, 21:23:32
Das kommt mir irgendwie ziemlich lahm vor für das was es tut :|

aths
2005-01-18, 22:06:10
Auch auf meinen beiden Systemen keine Probleme .

Hab mit mehreren Bildern ausprobiert und dabei ein paar der Funktionalitäten ausprobiert....

Keine Bluescreen oder Abstürze ;) Gut.

Könntest du aber trotzdem nochmal etwas genauer erklären, wofür das Programm gedacht ist? (rein interessehalber..)Primär soll das Programm einen Farbnamen anzeigen, wenn man mit der Maus auf einen Teil des Bildes zeigt. Die Farbnamen stehen in Paletten. Je größer (und besser verteilt) die Palette, desto genauer die Angabe.

Der gleiche Download-Link führt jetzt zu einer neuen Version, mit neuen Paletten.

Ach vielleicht ist es ganz nützlich, wenn wir unsere Testsysteme dazuschreiben:
1.) A64 3800+, VIA K8T880, 1GB Ram, GF6800 Ultra (67.02)
2.)Duron 1400, SiS irgendetwas, 256MB Ram, GF4MX (45.23(???)) 256 RAM sind übrigens Minimum, damits vernünftig läuft.

P.S.
im Prinzip könnte man das ja auch gleichzeitig noch als Benchmark missbrauchen ;D

P.S.S.
warum nur Bilder bis 1280x1024??Als Benchmark ist das nicht gedacht.

Das Programm ist für Bilder in webtauglicher Größe. Ich habe viele Felder statisch angelegt, je größer das erlaubte Bild, desto mehr Speicherplatzverbrauch. Das Programm braucht für seine Funktionen alle möglichen Zwischenspeicher, da ist mehr vorzuhalten als das eigentliche Bild.

aths
2005-01-18, 22:09:32
Das kommt mir irgendwie ziemlich lahm vor für das was es tut :|Geschwindigkeit stand nicht im Vordergrund, ich brauchte eine flexible "Engine" die unterschiedliche Experimente erlaubt.

Außerdem denkt das Programm mit und interpretiert die JPEGs standardmäßig als (angenähertes) sRGB :) was krass Performance kostet. Die Lupe wird nichtlinear gewichtet ausgewertet (Klick auf die Lupe, sofern Bild geladen) und das Downfiltering ist gamma-korrekt. Im Parameter-Dialog (F12) kann man vieles einstellen. Die Flexibilität kostet Leistung.

Aqualon
2005-01-19, 00:55:20
Ein paar Anmerkungen von mir zu dem Programm.

- Kontextmenü verschwindet unter der Statusbar, wenn das Bild größer als der Viewport der Anwendung ist.

- Das Fenster skaliert über die Bildschirmgröße hinaus, wenn ein Bild größer als die Auflösung ist (ein Scrollbalken für den Bildbereich wäre sehr schön).

- Der Speicherverbrauch gleich nach dem Start ist sehr hoch (bei mir 96MB). Wenn ich das Programm danach minimiere und wiederherstelle, braucht es nur noch 3MB und selbst nach eifrigem Ausprobieren der Funktionen bin ich nicht wieder auf die Größe gekommen. Was wird denn da schon alles geladen beim Starten?

- Die Funktion "Blüte umkreisen" hat zwar soweit funktioniert, dass die Blüte schön freigestellt worden ist, aber das Kreiskorrelationsmenü geht bei mir nicht (ist ausgegraut, wenn ich experimentelle Menüs einschalte, genauso wie die anderen Einträge dort ausser Maskieren).

- Beim umschalten auf experimentelle Menüs verschwindet auch der Button "Rauschen entfernen", während "Rauschen reduzieren" erhalten bleibt. Bug oder Feature?

Ansonsten fand ich das Programm sehr flott zu bedienen, obwohl ich nur nen PIII-1GHz mit 256MB SDRAM habe und es gab auch keinerlei Stabilitätsprobleme.

Aqua

aths
2005-01-19, 02:48:12
Ein paar Anmerkungen von mir zu dem Programm.

- Kontextmenü verschwindet unter der Statusbar, wenn das Bild größer als der Viewport der Anwendung ist.Ja. Das Programm skaliert das Fenster automatisch so, dass das ganze Bild zu sehen ist. Man kann das Fenster dann zwar wieder kleiner ziehen, aber das ist nicht Sinn der Sache.

- Das Fenster skaliert über die Bildschirmgröße hinaus, wenn ein Bild größer als die Auflösung ist (ein Scrollbalken für den Bildbereich wäre sehr schön).Panels unterstützen keine Scrollbars. Das Programm ist für Bilder gedacht die üblicherweise die Auflösung 512x512 nicht übersteigen.

- Der Speicherverbrauch gleich nach dem Start ist sehr hoch (bei mir 96MB). Wenn ich das Programm danach minimiere und wiederherstelle, braucht es nur noch 3MB und selbst nach eifrigem Ausprobieren der Funktionen bin ich nicht wieder auf die Größe gekommen. Was wird denn da schon alles geladen beim Starten?Die meisten Felder sind statisch. Er braucht pro Pixel mehr als drei Byte, da er nicht nur R, G und B sondern auch andere Informationen erzeugt und speichert. Zudem muss er zwei Bilder halten (das Original und die farbreduzierte Ansicht, welches einen zusätzlichen Puffer mit Extra-Infos bekommt) und bestimmte Features brauchen 12 Byte pro Pixel (nämlich 3 Komponenten à FP32.)

Wenn er später nur noch weniger RAM-Verbrauch anzeigt dann deshalb, weil Windows ausgelagert hat.

- Die Funktion "Blüte umkreisen" hat zwar soweit funktioniert, dass die Blüte schön freigestellt worden ist, aber das Kreiskorrelationsmenü geht bei mir nicht (ist ausgegraut, wenn ich experimentelle Menüs einschalte, genauso wie die anderen Einträge dort ausser Maskieren).Zum Teufel, da hat sich wohl ein Fehler eingeschlichen. Muss mal gucken, woran das liegt.

edit: Gleicher Link, neue Version. Müsste jetzt gehen. Dazu hab ich noch ein extra Rumspiel-Bild: 1 (http://www.aths.net/files/otest.jpg), 2 (http://www.aths.net/files/otest2.jpg).

Die Farben muss man dann aber erst mal von Hand markieren.


- Beim umschalten auf experimentelle Menüs verschwindet auch der Button "Rauschen entfernen", während "Rauschen reduzieren" erhalten bleibt. Bug oder Feature?Absicht. Gleich zwei Features verwenden temporären Speicherplatz, den ansonsten "Rauschen entfernen" beansprucht.

Ansonsten fand ich das Programm sehr flott zu bedienen, obwohl ich nur nen PIII-1GHz mit 256MB SDRAM habe und es gab auch keinerlei Stabilitätsprobleme.G00d.

Grestorn
2005-01-19, 07:38:31
[...], Farbtöne (über einen Farbnahmen) in Bildern [...]Ich hab das Tool nicht ausprobiert, aber ich bin über das obige Wort gefallen. Entweder es handelt sich dabei um einen mir völlig unbekannten Begriff, oder es ist ein Tippfehler.

Ich wollte Dich nur darauf aufmerksam machen, nicht dass Du das Deckblatt Deines Belegs (was ist das eigentlich, den Begriff kenne ich auch nicht. Eine Art Diplomarbeit?) mit einem Fehler schmückst :)

aths
2005-01-19, 15:42:55
. (dp)

aths
2005-01-19, 15:46:57
Ich hab das Tool nicht ausprobiert, aber ich bin über das obige Wort gefallen. Entweder es handelt sich dabei um einen mir völlig unbekannten Begriff, oder es ist ein Tippfehler.

Ich wollte Dich nur darauf aufmerksam machen, nicht dass Du das Deckblatt Deines Belegs (was ist das eigentlich, den Begriff kenne ich auch nicht. Eine Art Diplomarbeit?) mit einem Fehler schmückst :)Es muss natürlich "Name" heißen *editiert*.

In der Belegarbeit stehts zum Glück richtig.

Unser Studium (Dipl-Ing (fh), wird aber seit diesem Jahr nicht mehr für Neue angeboten, jetzt gibts nur noch Bachelor und Master) hat eine Regelstudienzeit von 8 Semestern. Das 6. Semester ist das Praxissemester, im 8. sollen wir die Diplomarbeit schreiben. Im 7. sollen wir ein Multimedia-Projekt bearbeiten, quasi als Übung (Testlauf) für die Diplomarbeit. Der Beleg ist aber auch eine Fachprüfung, im 7. Semester immerhin die größte Einzelleistung die wir erbringen müssen.

Gabber[CH]
2005-01-19, 23:28:33
Läuft ohne Probleme, frisst aber 100MB RAM :confused:

aths
2005-01-20, 12:46:21
']Läuft ohne Probleme, frisst aber 100MB RAM :confused:... + 100 MB in der Swap-Datei, ja.

Phobos
2005-01-22, 11:33:57
Und es hat meine ganzen Desktop Icons durcheinander gebracht aaaaahhh.

aths
2005-01-22, 16:58:08
Und es hat meine ganzen Desktop Icons durcheinander gebracht aaaaahhh.Inwiefern?

Aqualon
2005-01-24, 11:30:19
Zum Teufel, da hat sich wohl ein Fehler eingeschlichen. Muss mal gucken, woran das liegt.

edit: Gleicher Link, neue Version. Müsste jetzt gehen. Dazu hab ich noch ein extra Rumspiel-Bild: 1 (http://www.aths.net/files/otest.jpg), 2 (http://www.aths.net/files/otest2.jpg).
Habs nochmal getestet und jetzt funktioniert der Button. Welche Funktion hat denn die Kreiskorrelation genau? Soll die nur dafür sorgen, dass die nicht zu den freigestellten Flächen innerhalb des Kreises gehörenden Pixel genausoviel sind, wie die Pixel ausserhalb des Kreises, die noch zur freigestellten Fläche gehören würden? Gibt es dafür auch eine praktische Anwendungsmöglichkeit?

Aqua

aths
2005-01-24, 14:20:33
Habs nochmal getestet und jetzt funktioniert der Button. Welche Funktion hat denn die Kreiskorrelation genau? Soll die nur dafür sorgen, dass die nicht zu den freigestellten Flächen innerhalb des Kreises gehörenden Pixel genausoviel sind, wie die Pixel ausserhalb des Kreises, die noch zur freigestellten Fläche gehören würden? Gibt es dafür auch eine praktische Anwendungsmöglichkeit?Die Kreiskorrelation berechnet die Kreisähnlichkeit.

Anwendungsmöglichkeit ist z. B., die Mitte eines (einigermaßen kreisförmigen) Objektes zu finden. Bei Eye-Tracking würde sowas ähnliches gemacht.

LordDeath
2005-01-28, 18:19:34
auch bei mir, wo die icons auf dem desktop unterschiedliche positionen an verschiedenen ecken haben, hat das programm dazu geführt, dass alles nach links untereinander geordnet wurde!

Endorphine
2005-01-28, 18:40:10
auch bei mir, wo die icons auf dem desktop unterschiedliche positionen an verschiedenen ecken haben, hat das programm dazu geführt, dass alles nach links untereinander geordnet wurde! /me too X-(

Aqualon
2005-01-28, 23:15:35
Bei mir unter XP Home SP2 hat sich nichts an den Desktop-Icons verändert.

Aqua

aths
2005-01-29, 09:37:39
Bei mir unter XP Home SP2 hat sich nichts an den Desktop-Icons verändert.Bist du als Admin angemeldet?

Aqualon
2005-01-29, 18:46:00
Bist du als Admin angemeldet?
Ja, bin ich.

aths
2005-01-29, 22:35:15
Ja, bin ich.Der Icon-Refresh dürfte auch nur beim erstmaligen Start erfolgen.

Aqualon
2005-01-29, 23:54:05
So, habs nochmal getestet. Den Programmordner gelöscht, die aktuelle Version runtergeladen (1.38) und gestartet. Keine Änderung an der Icon-Anordnung zu sehen (falls der Bug in der Version schon behoben ist, kann es dazu natürlich nicht kommen ;-))

Aqua

aths
2005-02-02, 03:22:44
So, habs nochmal getestet. Den Programmordner gelöscht, die aktuelle Version runtergeladen (1.38) und gestartet. Keine Änderung an der Icon-Anordnung zu sehen (falls der Bug in der Version schon behoben ist, kann es dazu natürlich nicht kommen ;-))Ist ein Registry-Eintrag. Wenn schon drin, wird der beim Löschen der Dateien nicht entfernt. Im Archiv sollte aber eine BAT-Datei drin sein, die (sofern die farberkennung.exe vorhanden ist) die Registrierung des .fp32-Dateityps entfernt.

Aqualon
2005-02-02, 09:10:20
Ist ein Registry-Eintrag. Wenn schon drin, wird der beim Löschen der Dateien nicht entfernt. Im Archiv sollte aber eine BAT-Datei drin sein, die (sofern die farberkennung.exe vorhanden ist) die Registrierung des .fp32-Dateityps entfernt.
Ok, Bug bestätigt. Nach Ausführen der Batchdatei hat es die Icons durcheinandergewirbelt.

Aqua

aths
2005-02-02, 14:45:52
Ok, Bug bestätigt. Nach Ausführen der Batchdatei hat es die Icons durcheinandergewirbelt.Das Problem ist, der Bug ist eigentlich kein Bug, sondern er tut das, was er soll. Ich wüsste nicht, wie das Refreshen der Icons zur Laufzeit auf anderem Wege tun sollte.