I am trying to implement a Mean Filter on a coloured image for an Android application. When I apply the filter on a chosen image.
The original image:
The filtered image
各ピクセルで から色の値を読み取りますpixels[index]
が、インデックス変数は元の画像ではなく、フィルター処理された配列へのインデックスです。index でピクセルデータを読み取る必要がx+filterX+width*(y+filterY)
あり、画像の端に注意してください。
より大きな問題は、赤、緑、青の合計が 0 にリセットされないことです。つまり、ピクセル値を累積し続けることになります。これで変色が説明できるはずです。追加:
sumR = 0;
sumG = 0;
sumB = 0;
for (int i = 0; i < RArray.length; i++) {
sumR += RArray[i];
sumG += GArray[i];
sumB += BArray[i];
}