图像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的返回值还是无符号数,但是超过了无符号数的最大值。