这是我在一本书中读到的 OpenCV 中基本颜色减少的公式。
//p is the value of the channel of a pixel
//n is the reduction factor
p = (p/n)*n + n/2; //integer division
我知道第一个表达式(p/n)*n
是n
小于或等于的第一个倍数p
。我认为这足以将颜色减少n
. 但我不明白需要添加n/2
什么。
而且,如果p=255
和n=5
,这个公式会尝试设置p = 257
,会不会超出 p 的范围?
请解释。