Sortieren von Vektoren < mehrere Veränderl. < reell < Analysis < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:56 Do 13.09.2007 | Autor: | humbug |
Aufgabe | Die Pixel eines jpg-Bildes x*y*3 Matrix im Rot-Grün-Blau Farbenraum sollen nach einer bestimmten Farbenreihenfolge (gegeben) gewertet werden.
Farbenraum im kartesischen System:
(000): Schwarz
(100): Grün
(110): Cyan (hellblau)
(010): Blau
(101): Gelb
(111): Weiss
(011): Lila
(001): Rot
die Werte sollen steigen für: Schwarz-Grün-Gelb-Rot-Lila |
ich suche vergebens nach einem funktionierenden Lösungsansatz. Hat jemand eine Idee? Das ganze wird natürlich in Matlab umgesetzt, da es doch ein paar Vektoren sind (~8 Mio)
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt
|
|
|
|
> Die Pixel eines jpg-Bildes x*y*3 Matrix im Rot-Grün-Blau
> Farbenraum sollen nach einer bestimmten Farbenreihenfolge
> (gegeben) gewertet werden.
>
> Farbenraum im kartesischen System:
> (000): Schwarz
> (100): Grün
> (110): Cyan (hellblau)
> (010): Blau
> (101): Gelb
> (111): Weiss
> (011): Lila
> (001): Rot
>
> die Werte sollen steigen für: Schwarz-Grün-Gelb-Rot-Lila
> ich suche vergebens nach einem funktionierenden
> Lösungsansatz. Hat jemand eine Idee?
Dies scheint mir eine reichlich willkürliche Angabe zu sein. Bist Du sicher, dass Du dies in dieser Form möchtest?
Ich, an Deiner Stelle, würde vermutlich zuerst die RGB-WERte in HSV (hue, saturation, value) umwandeln und dann primär nach der H-Komponente aufsteigend sortieren.
Beispiel: Die sogenannten "web-safe colors" aufsteigend primär nach hue, dann saturation und schliesslich nach value sortiert, sehen, in einer von links nach rechts und oben nach unten ausgefüllten Tabelle so aus:
[Dateianhang nicht öffentlich]
Primär nach hue, dann nach value und schliesslich nach saturation sortiert, sehen sie andererseits so aus:
[Dateianhang nicht öffentlich]
> Das ganze wird natürlich in Matlab umgesetzt,
Natürlich? - Was ist "Matlab"
> da es doch ein paar Vektoren sind (~8 Mio)
Nachtrag (1. Revision): Deine Tabelle der Übersetzung von RGB-Werten in eine möglicherweise tatsächlich völlig willkürlich vorgegebene Farbordnung als Basis für das Sortieren ist doch offensichtlich nicht vollständig. Es gibt zahllose Farben "zwischendurch". Immerhin wäre auch eine HSV-Kodierung der RGB-Werte eine relativ günstige Basis für das Zuordnen der wenigen Farbcodes, die Dir vorgegeben sind (denn sie entsprechen in der Regel schon einem gewissen Bereich des "hue" Wertes). Nachdem Du diese Umsetzung der RGB-Werte auf reine Zahlenwerte entsprechend der Klassennummer Deiner vorgegebenen Farbcodierung gemacht hast, kannst Du diese Liste einfach sortieren wie jede andere Liste von Zahlen. Dafür wird es in Matlab doch hoffentlich eine simpel aufrufbare Funktion geben.
Dateianhänge: Anhang Nr. 1 (Typ: gif) [nicht öffentlich] Anhang Nr. 2 (Typ: gif) [nicht öffentlich]
|
|
|
|