请问诸位,画直方图时,得到一个像素中的一个颜色分量后为什么要移位处理啊?数组中储存的是什么啊?程序如下,px指向颜色数组,移的位数(5)是随便给的
for(y=y_begin;y<=y_end;y++)
for(x=x_begin;x<=x_end;x++)
{b=px[(y*W+x)*3]>>5;
g=px[(y*W+x)*3+1]>>5;
r=px[(y*W+x)*3+2]>>5;
}
for(y=y_begin;y<=y_end;y++)
for(x=x_begin;x<=x_end;x++)
{b=px[(y*W+x)*3]>>5;
g=px[(y*W+x)*3+1]>>5;
r=px[(y*W+x)*3+2]>>5;
}
仅从该代码来看是取每一个颜色分量的高8-5位,具体含义还要取决于你的应用。以前做过bit plane的“滤波”,就是只取每一像素的指定位上的颜色值,好似叫什么颜色的“位面”。你这个就是取颜色的高位。