matlabim2double
関数の一貫性のない動作を説明できますか?
基本的に、この関数は入力としてintの行列Aを与えられ、0 ...1の範囲の値を正規化します。
例:
I1 = reshape(uint8(linspace(1,255,9)),[3 3])
I2 = im2double(I1)
I1 =
1 96 192
33 128 223
65 160 255
I2 =
0.0039 0.3765 0.7529
0.1294 0.5020 0.8745
0.2549 0.6275 1.0000
しかし今、私がdoubleの行列を提供する場合:
I1 =
0.1000 0.2000
1.5000 2.2000
の結果im2double
は同じ行列I1です(したがって、正規化は行われません)。この一貫性のない動作を理解できますか?