Frage

Ich versuche, eine Erweiterung in NetLogo für NXT-Ziegelsteine zu schreiben.Um den Ziegelstein zu verbinden, benutze ich Lejos.Ich habe ein Problem mit dem Farbsensor.Ich möchte eine einfache Methode schreiben, die Sensorfarbe als Zahl wie gelb: 1, rot: 2 usw. zurückgibt, aber Sensormotor gibt immer verschiedene RGB-Farben auf derselben Oberfläche zurück.Zum Beispiel setze ich es über ein gelbes Papier, RGB-Farben sind: [236 189 104], [247 202 108]. Wenn es einzigartige RGB-Nummern für dieselben Oberflächenfarben zurückging, würde ich sie entsprechend der RGB-Farbbereich klassifizieren und gebenEine eindeutige Nummer für jede Farbe.Hast du eine Ahnung, wie ich es tun kann?Es wird auch nicht auf verschiedenen Oberflächen ausgeführt.Nur das für meine Papierfarben (gelb, blau, grün) reicht für mich.Danke.

War es hilfreich?

Lösung

Wenn ich richtig verstanden habe, was Sie meinen, die Methode java.awt.color.rgbtohsb könnte Ihnen helfen.Java-Code wie folgt:

generasacodicetagpre.

(wobei red, green und blue Variablen sind, die das Sensorergebnis enthalten)

... gibt Ihnen den "Farbton" Ihrer Farbe als float zwischen 0 und 1, der ausreichend sein sollte, um zu sehen, ob es sich um einen Farbton von Gelb, Blau, Grün, oder etwas anderes handelt, wenn Sie geeignete Bereiche definieren.Das sollte sehr ungefähr so etwas wie:

generasacodicetagpre.

... aber nimm nicht mein Wort dafür!Sie sollten experimentieren, um zu sehen, in welchem Reichweiten Sie Ihren Sensor aufbleiben, wenn Sie über gelbes Papier usw.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top