0

私は最初に画像を正規化する必要があるプロジェクトに取り組んでいます。つまり、画像のピクセル範囲を16-235から変換します(画像の輝度成分のみであるため、ピクセル値は常に16-235の範囲で定義されます) 0 - 1 の場合、処理後に画像に対して dwt と idwt を実行し、これらのピクセル値を 0 - 1 から 16 - 235 に再度マッピングします。つまり、ピクセル値が 1 の値の場合、次のように画像マトリックスに格納する必要があります。 235. 次の matlab コードを試してみたところ、正規化直後に画像を非正規化すると、このコードは問題なく動作しますが、dwt と idwt を実行した後にこのコードを使用すると、出力が完全に白くなります。

for j = 1:1:361
    for k=1:1:361                   %dimensions of my matrix
        if(distorted1(j,k)~=0)
            temp=distorted1(j,k);
            temp1=temp/0.0045;

            distorted1(j,k)=int8(temp1)+1;
        end
    end
end
imshow(distorted1);
4

1 に答える 1

3

あなたの結果はidwtタイプdouble( またはsingle) であり、intもはやそうではないようです。に変換してからuint8、それに変換しimshowます。

imshowタイプdouble/の画像を処理しようとすると、singleすべてのピクセルが 1.0 より大きい値で飽和します (タイプ の画像の場合は 255 ではありませintん)。

于 2015-03-12T15:37:54.990 に答える