当前位置:  开发笔记 > 编程语言 > 正文

是否使用saturate_cast

如何解决《是否使用saturate_cast》经验,为你挑选了1个好方法。



1> Miki..:

由于表达式的结果可能超出的有效范围uchar,即[0,255],最好始终使用saturate_cast


在您的情况下,表达式:的结果alpha*(image.at(x, y)[c]) + beta是双精度型,因此使用它来更saturate_cast正确地钳位值更安全。

同样,由于可以很容易地看出您想要uchar表达式之外,因此可以提高可读性。


如果不使用saturate_cast,则可能会有意外的值:

uchar u1 = 257;  // u1 = 1, why a very bright value is set to almost black?
uchar u2 = saturate_cast(257); // u2 = 255, a very bright value is set to white 

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有