【发布时间】:2011-11-01 12:14:13
【问题描述】:
我不熟悉按位运算。这是一种图像处理算法。发生了什么?
void binarize50(int pixels[]) {
for(int i = 0; i < pixels.length; i++) {
int gray = ((pixels[i] & 0xff) + ((pixels[i] & 0xff00) >> 8) + ((pixels[i] & 0xff0000) >> 16)) / 3;
pixels[i] = gray < 128 ? 0xff000000 : 0xffffffff;
}
}
我发现 (pixels[i] & 0xff) 只是以某种方式“标准化”并让像素/字节变为 0..255 之间的正值。
(pixels[i] & 0xff00 >> 8) 有什么作用?
什么是 0xff00?
为什么如果灰度
【问题讨论】:
标签: java image-processing binary bitwise-operators