2017-02-07 18 views
-1

私はコーディングに新しいので、現在Javaを学んでいます。私は現在、900x900の画像を3x3のチャンクに分割し、それをランダムな位置にスクランブルするこの余分なクレジット割り当てを行っています。ピクセルを使用して画像をスクランブルする方法

これまでのところ、私は3x3のチャンクに分割することができました。しかし、私が持っているピクセルをどのように使ってオブジェクトにするかはわかりません。それで後に簡単に呼び出すことができ、別の位置にスクランブルするためにそれを使用します。

ので、それは次のようになりますが、チャンクがそう dividedPicture

をスクランブルされている、それはいくつかのヒントやアイデアを得ることが可能でしょうか?感謝し、助けに感謝します。

これは、私はあなたがあなたの元画素マトリックスを持って、これまで

public void extracredit(Picture originPic) { 

    Picture [] picture = new Picture[9]; 
    boolean [] checkFilled = new boolean[9]; 
    int w = originPic.getWidth(); 
    int h = originPic.getHeight(); 
    Pixel pixels; 
    for (int i = 0; i < picture.length; i++) { 
     int xIndex = i % 3; 

     for (int x = w/3 * xIndex; x < w/3 * (xIndex + 1); x++) { 

     for (int y = h/3 * xIndex; y < h/3 * (xIndex + 1); y++) { 
      pixels = origin.getPixel(x,y); 

     } 
     } 
    } 


    } 
+0

Picture ??あなたはそれをから得ましたか? – gpasch

+0

あなたはいつもそれらを 'Collection'と' shuffle'に入れておくことができます – MadProgrammer

+0

私はこのメソッドをPictureというクラスに書いています。これはライブラリ呼び出しsimplePicture – user109483

答えて

0

を得たコードです。同じピクセル矩形次元のターゲットピクセルマトリックスを作成します。どの3x3ターゲットピクセルグループが割り当てられるべきかのリンクされたリストを保持する。各3x3ソースピクセルグループを反復するには、次の3x3ターゲットピクセルグループを選択してコピーし、空になるまでリンクリストから対応するエントリを削除するリンクされたリストの長さをランダムな整数> = 0および<として生成します。

+0

Thxにまで及んでいますが、私はそれを理解しました。私は欲しかったピクセルの集まりを作成し、それをランダム化するためにfisherメソッドを使用します。 MadProgammerにもありがとう – user109483

+0

私は分かりません。フィッシャー法は、行列の値をランダム化する方法ではなく、カイ二乗に関する統計的分析の方法です。 –

関連する問題