何時間も検索した後、私はあなたの専門知識に頼っています! 助けてください!
基本的に、グレースケール画像の個々のピクセルからデータにアクセスしようとしています。
私が話している画像へのリンクは次のとおりです。それは私が学びたいことではありません - ノイズを取り除く方法を知りたいのです!)
public static void handlesinglepixel(int x, int y, int pixel) {
int alpha = (pixel >> 24) & 0xff;
int red = (pixel >> 16) & 0xff;
int green = (pixel >> 8) & 0xff;
int blue = (pixel) & 0xff;
// Deal with the pixel as necessary...
}
public static void handlepixels(Image img, int x, int y, int w, int h) {
int[] pixels = new int[w * h];
PixelGrabber pg = new PixelGrabber(img, x, y, w, h, pixels, 0, w);
try {
pg.grabPixels();
} catch (InterruptedException e) {
System.err.println("interrupted waiting for pixels!");
return;
}
if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
System.err.println("image fetch aborted or errored");
return;
}
for (int j = 0; j < h; j++) {
for (int i = 0; i < w; i++) {
handlesinglepixel(x + i, y + j, pixels[j * w + i]);
}
}
}
これを使用して、個々のピクセルにアクセスできます。私はとても幸せです!しかし...隣接するピクセルを比較して、他のピクセルよりも異常に明るいかどうかを確認したいと思います。写真からノイズを取り除きたいので、これを行っています。何かアドバイス?
PS RescaleOp を使用して、すべてのピクセルの輝度係数を変更してから、再度乗算しましたが、画像が認識できなくなりました。どうやってノイズを除去するのか、本当に困っています!
あなたの回答を読むのを楽しみにしています。