【问题标题】:Adding threshold to custom black and white filter为自定义黑白滤镜添加阈值
【发布时间】:2015-11-23 07:09:48
【问题描述】:
- (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;

}

我是使用核心图像的新手。我在网上找到了这段代码,它的作用是将图像转换为纯黑白(无灰色)。我想要做的是能够修改阈值。这意味着我希望能够使其更白或更黑。我该怎么做?

【问题讨论】:

    标签: objective-c image core-image


    【解决方案1】:

    使用(255 * 3 / 2) 表达式,直到您对结果满意为止。
    此值越高,您将拥有的黑色像素越多。

    【讨论】:

    • 是的,我怀疑这一点,但我不明白的是,如果那是阈值,他为什么不直接写一个数字。他在计算什么?
    • 255 是颜色通道的最大值。添加了 3 个颜色通道,因此他乘以 3,但将其除以 2 以设置阈值。这只是一种明确写出他的想法的方式。您可以输入一个整数,它也可以使用;)
    猜你喜欢
    • 2018-09-29
    • 2018-03-21
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多