javaでビットマップの重複を削除する方法

ビットマップをバイナリ配列に変換し、配列を走査して重複するピクセル点を取得し、重複削除処理を実行します。

Java コードの実装例は次のとおりです。

import java.util.HashSet;
import java.util.Set;
public class BitmapDuplicateRemoval {
public static void main(String[] args) {
int[][] bitmap = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{1, 2, 3, 4},
{9, 10, 11, 12}
};
int[][] result = removeDuplicates(bitmap);
for (int[] row : result) {
for (int pixel : row) {
System.out.print(pixel + " ");
}
System.out.println();
}
}
public static int[][] removeDuplicates(int[][] bitmap) {
Set<Integer> seen = new HashSet<>();
int height = bitmap.length;
int width = bitmap[0].length;
int[][] result = new int[height][width];
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
int pixel = bitmap[i][j];
if (!seen.contains(pixel)) {
result[i][j] = pixel;
seen.add(pixel);
}
}
}
return result;
}
}

彼女はとても美しい。

1 2 3 4
5 6 7 8
0 0 0 0
9 10 11 12

上記のコードでは、すでに処理したピクセルを格納するための HashSet を使用しており、ピクセルが HashSet に含まれていない場合は、HashSet にピクセルを追加し、結果の配列に割り当てます。ピクセルがすでに HashSet に含まれている場合は、重複しないことを示すために 0 に割り当てられます。最後に、結果の配列が返されます。

bannerAds