求图像方差的bug(无符号数求平方出错)

tech2025-02-26  12

图像16位无符号数,计算过程用到了求灰度的平方,赋值给一个float变量,就是这个赋值出问题了! float a a=b×b,其中a为float,b为unsigned short 上面代码有bug!

正确的写法是 a=(float)b × (float)b

a=b×b等价于a=(float)(b×b),而b×b的返回值还是无符号数,但是超过了无符号数的最大值。

最新回复(0)