色付きの画像にヒストグラム/画像のイコライゼーションを実装しようとしています。ビットマップ画像に適用するたびに画面が真っ暗になるため、正しく実装したかどうかはわかりません。アルゴリズムは と呼ばれhistogram equalization
ます。
Histogram Equalization の計算を行うコードの一部:
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
A = (pixels[index] >> 24) & 0xFF;
R = (pixels[index] >> 16) & 0xFF;
G = (pixels[index] >> 8) & 0xFF;
B = pixels[index] & 0xFF;
R = Math.round(((R - cumR[minR]) / (cumR[maxR] - cumR[minR])) * 255);
G = Math.round(((G - cumG[minG]) / (cumG[maxG] - cumG[minG])) * 255);
B = Math.round(((B - cumB[minB]) / (cumB[maxB] - cumB[minB])) * 255);
returnBitmap.setPixel(x, y, Color.argb(A, R, G, B));
++index;
}
}
コードを適用すると画像が黒く表示されますが、イコライズされた画像が表示されないのはなぜですか?