2

2つの画像

こんにちは。スクリプト(プログラミング言語は関係ありませんが、ここではJavaを使用します)を作成する必要があります。このスクリプトは、2つの白黒画像を比較し、どちらが最もぼやけているかを示します。

だから私はこのような関数を作らなければなりません:

function int getImageBlurPercentage()
{
    ArrayList<Integer> ColorList = new ArrayList<Integer>();

    //Part 1: fill ColorList with color values (0=black, 255=white)

    go through Y axis
        go through X axis
            ColorList -> add colorValue of each pixel; [ie: 0 to 255]


    //Part 2: process (This is the part where I need help !)

    int lastColor = 0;

    for(int color : ColorList)
    {
        // Something has to be done here
        // To compare pixel by pixel
        // and get noise result or difference result
        // and convert it to a percentage (0% - 100%)
        // This is where I need your help !
    }
}

だから、これは私があなたの助けを必要とするところです、私はこれを処理する方法を本当に知りません。これには私が吸ういくつかの数式が必要だと思います。

誰かが私を正しい道に導くことができる助けやヒントを与えてくれれば幸いです。ありがとうございました。

4

1 に答える 1

0

画像をぼかす場合 (たとえば、ガウスぼかしを使用するとします)、実際には画像のピクセルに対して何らかの「平均化」を行います。つまり、エッジを「滑らか」にします。

したがって、ある画像のエッジが他の画像よりも「滑らかな」エッジを持っているかどうかを確認するには、Jan Dvorak が提案したように画像のグラデーションを確認できますが、画像内のピクセル数で正規化することを忘れないでください (そうしないと、より大きな画像が取得されます)より大きな結果)。

まったく異なる 2 つの画像をチェックしたい場合、シーンごとに自然に滑らかさが異なるため、テストはさらに複雑になります。

于 2012-12-27T23:29:55.527 に答える