使图像仅以灰度显示

时间:2018-12-28 22:00:06

标签: image-processing

我正在编写一个程序,该程序可以对图像中每个像素的颜色进行加扰,以使生成的图像非常嘈杂且难以识别,但是在灰度下看起来正常。

编写程序后,我发现了一个问题。我使用的算法假设计算灰度的方法类似于

Grayscale(Pixel p) {
    average := (p.red + p.green + p.blue) / 3
    p.red := p.green := p.blue := average;
}

我后来意识到数字带有权重:

Grayscale(Pixel p) {
    average := (c1 * p.red^gamma) + (c2 * p.green^gamma) + (c3 * p.blue^gamma)
    p.red := p.green := p.blue := average
}

因此我的程序无法正常工作。

我专门针对iOS灰度滤镜,尽管该算法对于任何系统都应该相同。

(旁注:我不知道iOS值的权重,所以如果有人也可以在算法中给我这些值,那将非常酷。我发现此线程讨论了类似的问题,但事实并非如此。没有回答我的问题:https://www.reddit.com/r/compsci/comments/a1yrf1/what_algorithm_do_ios_devices_use_to_grayscale/

假设灰度使用某种权重,我可以使用哪种算法来更改给定像素的rgb值,同时保持像素的灰度值相同?

0 个答案:

没有答案