versucht, rgb von einer .net-Farbe in eine Zeichenfolge wie "rot" oder "blau" zu konvertieren

8

All meine Methoden versagen mir auf verschiedene Arten. eine andere Beleuchtung kann auch alles durcheinander bringen.

Hat jemand versucht, einen Namen mit einem rgb-Wert zurückzugeben? "Rot" "Grün" "Blau" wäre genug, um meine Bedürfnisse für heute zu befriedigen.

Ich habe eine unsichere Byteverarbeitung von Bildern von meiner Webkamera.

Webcam http://i35.tinypic.com/2yvorau.png

    
w-ll 13.12.2008, 23:33
quelle

5 Antworten

4

Wenn Sie eine Liste bekannter Farben mit Namen haben, können Sie sehen, welche dieser bekannten Farben einer bestimmten Zielfarbe "am nächsten kommt". Verwenden Sie dazu eine "Nähe" -Funktion in den folgenden Zeilen (F # -Code):

%Vor%

Welche der bekannten Farben den kleinsten Unterschied zur Zielfarbe hat, die Sie benennen möchten, verwenden Sie diesen Namen.

    
Brian 13.12.2008 23:46
quelle
3

Sie können diesen Code ausprobieren

%Vor%     
satya 10.10.2012 05:06
quelle
2

Ich persönlich finde es natürlicher, an Farben als Farbton / Sättigung / Helligkeit als RGB-Werte zu denken, und Ich denke, das würde in diesem Fall gut für Sie funktionieren. Versuchen Sie Folgendes:

Weisen Sie bestimmten Bereichen des Spektrums Farbnamen zu, so wie Sie es für richtig halten. Zum Beispiel, vielleicht ist Rot 0 bis 39, Orange ist 40 bis 79 usw. (das sind willkürliche Zahlen - ich habe keine Ahnung, ob sie auf irgendeine Art von Maßstab passen oder nicht). Dann berechne den Farbton aus deinem RGB-Wert (du findest hier eine Formel , obwohl es vielleicht noch andere gibt). Sobald Sie den Farbton kennen, wissen Sie, in welchem ​​Bereich des Spektrums es ist, und Sie können ihm einen Namen geben.

    
Jonathan Schuster 14.12.2008 04:19
quelle
0

Nun, Rot / Grün / Blau sind ziemlich leicht durch Inspektion zu identifizieren; Welchen Wertbereich müssen Sie unterstützen?

Das Problem ist, dass es sehr schwierig ist, zurück zu erhalten, es sei denn, Sie beginnen mit einer benannten Farbe. IsNamedColor gibt false zurück, auch wenn Sie eine offensichtliche Farbe über FromArgb erstellen.

Wenn Sie nur die tatsächlich erwarteten Standardfarben benötigen, können Sie die bekannten Farben durch Reflexion aufzählen?

%Vor%

Sie können diesen Ansatz möglicherweise auch als Quelle bekannter Farben für einen komplexeren Algorithmus verwenden.

    
Marc Gravell 13.12.2008 23:38
quelle
0

Hier ist ein einfaches Namensschema mit zwei Qualifiern und einem Farbnamen:

%Vor%

Sie können es leicht anpassen, wenn Sie möchten, dass der Blues differenzierter ist.

    
TaW 25.08.2016 10:25
quelle