画像のネガを表示しようとしていますが、ご存知のように非常に単純なコードです。
これは元の画像です:
コードを使用すると:
Out = 255-img;
%Out = uint8(OutNeg);
imshow(Out);
結果は次のようになります。
しかし、コードを使用して:
OutNeg = 255-img;
Out = uint8(OutNeg);
imshow(Out);
正しい答えを出します:
今、私は疑問に思っています
1 - 関数 uint8() は実際に何をしますか?
2 - これらのコードは同じ結果になりますか? 実際、uint8 の使用法は何ですか?
コード 1:
img2 = uint8(img1);
imshow(img2);
コード 2:
imshow(img1,[0 255]);
3 - 次のコードで表示する前に画像を正規化する必要がありますか?
img2 = 255/(max(max(img1))-min(min(img1)))*(img1-min(min(img1)));
または、uint8 または [0 255] を使用しても同じことが行われ、正規化する必要はありませんか??
4- uint8 を使用した正規化と [0 255] を使用した正規化の違いは何ですか????
回答で Log や power-low などの変換を検討してください。