前提・実現したいこと
プログラミング超初心者です。
どのサイズの画像でも、面積平均法を使って、縦横を半分のサイズにしたいです。
しかし、平均する方法がわかりません。以下のような方法で実行しようとしましたが、ここから先どうしたらいいかわかりません。もしかしたらそもそもこの方法が間違っているのだと思います。
画像2
int w = picture.getWidth(); int h = picture.getHeight(); Picture newpic=new Picture(picture.getWidth()/2, picture.getHeight()/2); for (int c = 0; c < w; c++) { for (int r = 0; r < h; r++) { //元の画像から以下をコピーする Pixel p1= picture.getPixel(r, c); Pixel p2= picture.getPixel(r+1, c); Pixel p3= picture.getPixel(r, c+1); Pixel p4= picture.getPixel(r+1, c+1); int total=// piからp4までを足す int average= // それを4でわり平均を出す // コピーしたものをaverageに置き換える newpic.setPixel(r,c,average); } } return newpic; }
> もしかしたらそもそもこの方法が間違っているのだと思います。
間違っているも何も、ご提示のコードが未完成でコンパイルエラー状態なのですから、評価のしようもないのですが。
codeに説明を追加しました。//でやりたいことを書いたのですが、それをどのように表せばいいのかわからないのです。
画像1のようにするにはどうすれば良いですか