以下のコードは画像処理ルーチンです。 xとyは、画像を構成するすべてのピクセルの座標を表します。基本は次のとおりです。Javaでx座標とy座標が与えられている場合、どのように画像をぼかしますか?
- 各ピクセルのx、y座標です。
- imgH、IMGW - 画像
- R、G、Bの画素で高さと幅 - 、赤、緑、及び各ピクセルの青のレベル
コードが実行するループのための二重を使用し画像内の各ピクセルに何かがあります。このforループの中で何をしたいのかは、各ピクセルについてです。周りの8ピクセルのr、g、b値を平均し、その平均を中心ピクセルの値にしたいとします。これにより、画像のぼかし効果が生じます。誰も私にこれを手伝ってもらえますか?
protected void proc_17() {
info = "";
for (int y = 0; y < imgH; y++) {
for (int x = 0; x < imgW; x++) {
int xNext = (x+1) % imgW;
int yNext = (y+1) % imgH;
float r = (imgOld.getR(xNext, yNext) + imgOld.getR(xNext, yNext))/8;
float g = (imgOld.getG(xNext, yNext) + imgOld.getG(xNext, yNext))/8;
float b = (imgOld.getB(xNext, yNext) + imgOld.getB(xNext, yNext))/8;
imgNew.setR(x, y, r);
imgNew.setG(x, y, g);
imgNew.setB(x, y, b);
}
}
}
。そうでなければ計算は既にぼかされたいくつかのピクセルを使って行われます – nhouser9
'(imgOld.getR(xNext、yNext)+ imgOld.getR(xNext、yNext))/ 8;'を 'imgOld.getR(xNext、 yNext)/ 4; '? – CraigR8806
4で除算を加えるだけで、各ピクセルのRGB値が小さくなり、値が一様に減少するため、画像が暗くなります。 – Teej