0
im = imread('peppers.png');
noise=randn(size(im)).*1;
output=double(im)+noise;
imshow(output);
を表示それはちょうど私があなたが最初に用いた二重に変換する必要があり、それはガウス雑音
im = imread('peppers.png');
noise=randn(size(im)).*1;
output=double(im)+noise;
imshow(output);
を表示それはちょうど私があなたが最初に用いた二重に変換する必要があり、それはガウス雑音
をpeppers.pngの上にいくつかのガウス雑音を示し願う白画像
を示しim2double
(ないdouble
)、その後、ノイズを追加します。
im = imread('peppers.png');
imd = im2double(im);
noise=randn(size(im)).*0.1;
output=imd+noise;
imshow(output);
これはどうしてですか?
の場合は、uint8
と表示されます。タイプuint8
の行列に関数double
を適用しても、値のスケールは変更されませんが、関数のタイプのみが変更されます。
>> im(100,100)
ans =
66
>> double(im(100,100))
ans =
66
そして、チェックの種類:一方
>> class(im)
ans =
uint8
>> class(double(im))
ans =
double
我々は行列が([0 1]
に)再スケーリングされたクラスもdouble
に変更されim2double
を使用します。
>> imd(100,100)
ans =
0.2588
>> class(imd)
ans =
double
ありがとう、しかし、これと出力の違いは何ですか?= double(im)+ noise; – william007
@ william007更新を確認してください。 – NKN