我在Matlab中有一个灰度图像。
我注意到,如果将图像保留在“ double”或“ uint8”数组中,则Matlab中的某些图像处理算法会受到影响。我意识到即使使用'uint8'也足够使用'double'。似乎在调用Matlab运动检测算法时确实很重要。
这是由于表示“双”数字吗?我知道“浮点计算有舍入误差”,因为必须精确地以32/64位表示一个数字。
答案 0 :(得分:1)
uint8
计算的舍入误差比double
大。
您看到的是因为MATLAB希望双图像在[0,1]范围内。如果您的图片范围较大,则可能会被某些算法裁剪掉。
除此之外,期望加倍得出更好(更精确)的答案。尽管并非总是如此,uint8
的计算 可能会更快。