ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Javaの課題丸投げコミュの画像のノイズ除去 収縮処理&膨張処理

  • mixiチェック
  • このエントリーをはてなブックマークに追加
ある画像で、背景と物体において、物体だけを抽出する際に、
物体の色とそれ以外で場合分けをして、物体以外を黒(0)にしました。

しかし、ノイズが発生してしまい、うまく抽出出来ません。
そこで収縮処理と膨張処理の繰り返しで除去出来るのはわかったのですが、
肝心の収縮処理等が出来ません。
全然意味不明で未完成ですが、現段階はこんな感じです・・・↓

public Image shu(Image image) {
 ImageData imd = image.getImageData();
 int wid2 = (int) (imd.width );
 int hgt2 = (int) (imd.height);
 ImageData imd2 = new ImageData(wid2, hgt2, imd.depth, imd.palette);

int attention = 1;//注目するピクセルの数字

for (int y = 0; y < hgt2 ; y++) {
for (int x = 0; x < wid2; x++) {
/*
int pixcel[n][n];

int count = 0;
if(pixcel[y-1][x-1] == attention && y != 0 && x != 0)
count++;
if(pixcel[y][x-1] == attention && x != 0)
count++;
if(pixcel[y + 1][x - 1] == attention && y < n -1 && x != 0)
count++;
if(pixcel[y - 1][x] == attention && y != 0)
count++;
if(pixcel[y + 1][x] == attention && x < n - 1)
count++;
if(pixcel[y - 1][x + 1] == attention && y != 0 && x < n - 1)
count++;
if(pixcel[y][x + 1] == attention && x < n - 1)
count++;
if(pixcel[y + 1][x + 1] == attention && y < n - 1 && x < n - 1)
count++;
}
         if(count <= 3)
pixcel[y][x] = 0;
imd2.setPixel(x,y,pixel);

*/
}
}
//表示用に画像形式を再変換する
Image newImage = new Image(null, imd2);
return newImage;


/*から*/までの範囲は試行錯誤した結果ですので、変になってます。
現段階ではnの位置づけをどうすればいいのかわからなくなってしまいました。
また最後の方の変数pixelに繋がるプログラムもわかっていません。
このような状態で大変わかりづらいとは思いますが、
少しでもアドバイス等頂ければ幸いです。

コメント(0)

mixiユーザー
ログインしてコメントしよう!

Javaの課題丸投げ 更新情報

Javaの課題丸投げのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング