0
- (UIImage *)pureBlackAndWhiteImage:(UIImage *)image {
unsigned char *dataBitmap = [self bitmapFromImage:image];
for (int i = 0; i < image.size.width * image.size.height * 4; i += 4) {
if ((dataBitmap[i + 1] + dataBitmap[i + 2] + dataBitmap[i + 3]) < (255 * 3/2)) {
dataBitmap[i + 1] = 0;
dataBitmap[i + 2] = 0;
dataBitmap[i + 3] = 0;
} else {
dataBitmap[i + 1] = 255;
dataBitmap[i + 2] = 255;
dataBitmap[i + 3] = 255;
}
}
image = [self imageWithBits:dataBitmap withSize:image.size];
return image;
我很新的使用核心映像。我在网上发现了这个代码,它所做的是将图像转换为纯黑色和白色(无灰色)。我想要做的是能够修改阈值。意思是我想让它变得更白或更黑。我将如何做到这一点?
是的,我怀疑,但我不明白为什么他不写一个数字,如果这是门槛。他在计算什么? – user5227744
255是颜色通道的最大值。有3个颜色通道添加,所以他乘以3,但将它除以2设置阈值。这只是一种明确写出他思想的方式。你可以放一个整数,它也会起作用;) –