Matlab double vs uint8获得[0-255]灰度图像

时间:2018-12-02 12:19:57

标签: matlab double

我在Matlab中有一个灰度图像。

我注意到,如果将图像保留在“ double”或“ uint8”数组中,则Matlab中的某些图像处理算法会受到影响。我意识到即使使用'uint8'也足够使用'double'。似乎在调用Matlab运动检测算法时确实很重要。

这是由于表示“双”数字吗?我知道“浮点计算有舍入误差”,因为必须精确地以32/64位表示一个数字。

1 个答案:

答案 0 :(得分:1)

uint8计算的舍入误差比double大。

您看到的是因为MATLAB希望双图像在[0,1]范围内。如果您的图片范围较大,则可能会被某些算法裁剪掉。

除此之外,期望加倍得出更好(更精确)的答案。尽管并非总是如此,uint8的计算 可能会更快。