0

まずコードから:

for (int i = 0; i < 25; i++)
{
robot.delay(1000);// wait 1 second
Color pixel_4 = robot.getPixelColor(x-15, 30);
System.out.println(pixel_4.getRed() + " " + pixel_4.getGreen() + " " + pixel_4.getBlue());
}

これは私が使用している正確なコードではありませんが、同じ状況が発生します。プログラムでこのループを実行すると、画面がループ全体でまったく同じである場合、時々次のような出力が表示されます。

255 255 255

... (同じ色)

...

...

...

...

...

...

...

124 142 012 <---- これが問題です

255 255 255

私が知る限り、画面は静的ですが、robot.getPixelColor(x,y) メソッドは誤った値のセットを返しました。

誰かがこれについて経験や直感を持っていますか? それを防ぐためにできることはありますか?

ありがとう

4

1 に答える 1

1

明らかな理由で; あなたの論理には何か問題があります。ここに1つの考えがあります:

幅が 200px の画面があるとします。アルゴリズムが画面の境界外にあるピクセルの色 (つまり 201, 0) をチェックするとします。robot.getPixelColor は何を返しますか? 画像の境界外の色を返すか、何らかの無効な結果を返します。

それを踏まえて、アルゴリズムが画像の制約内で有効なピクセルをチェックすることを確認してください。これが、結果のあいまいさの原因である可能性があります。

これが適切な解決策に役立つか、つながることを願っています

于 2011-01-02T03:06:24.093 に答える