質問

NetLogoでは、NXTレンガの拡張を書いています。レンガを接続するには、Lejosを使っています。カラーセンサーに問題があります。黄色などの数としてセンサー色を返す簡単な方法を書いてください.1、赤:2など、センサーモーターは常に同じ表面に異なるRGB色を返します。たとえば、黄色い紙の上に置き、RGBの色は次のとおりです。..それが同じ表面色に対して固有のRGB番号を返品していた場合、RGB色の範囲に従ってそれらを分類して与えるでしょう各色のユニークな番号。あなたは私がそれをすることができる方法を考えていますか?また、それは異なる表面上では動作しません。私の紙の色(黄色、青、緑)にこれをやっているだけで私にとって十分になります。ありがとう。

役に立ちましたか?

解決

④%20int、%20int、%20float%5B%5D%29 "REL=" NOFOLLOW "> java.awt.color.rgbtohsb はあなたを助けるかもしれません。このようなJavaコード:

float[] hsb = Color.RGBtoHSB(red, green, blue, null);  
float hue = hsb[0];
.

redgreenおよびblueはセンサー結果を含む変数)

...あなたの色の「色相」を0から1の間のfloatとしてあなたに与えます。。それは非常にのようなものであるべきです:

Yellow: 0.1  < hue < 0.2
Blue:   0.5  < hue < 0.7
Green:  0.25 < hue < 0.45
.

...しかしそれのために私の言葉を連れて行かないでください!あなたは黄色い紙の上にあるときにあなたのセンサーがどの範囲の範囲であるかを見るのを試してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top