uchar类型的3通道图像,对颜色的表示方法有256X256X256(无符号整形大小范围是0~255)种,需要对其种类进行缩减,如0~9为0,10~19为10,20~29为20,这样就只有26X26X26种表示方法了。
若对图像中每点的像素值进行计算后重新赋值太过麻烦,多次的计算是很耗时间的。不如提前规定好一个数组[0,10,20,30…..],再将像素值进行比较,处在0~9区间的自动赋值为0
uchar table[256];//一个通道最多256种
for(int i=0;i<256;++i)
{
table[i] = 10*(i/10);//自动截余算法,去掉个位,变成了一个区间数组 table[2X]=20 table[3X]=30………
}
p[j]=table[p[j])//p[j]为某个通道的像素值,将其值转换为区间值