从彩色到灰度的多种映射

A variety of mappings from color to grayscale

我想将一组彩色图像转换为灰度图像。我使用 ImageMagick:

convert colorimage.png -colorspace Gray bwimage.png

但对于每张图片,都有一些特征在转换后消失或变得难以察觉。例如,有两种颜色的图像:

convert -size 50x100 xc:lightgray xc:pink +append lgraypink.png

然后转换为灰度:

convert lgraypink.png -colorspace Gray lgraypink-gray.png

很难看出区别。

我正在寻找一种颜色到黑白的转换,它可以生成例如对应于不同映射的三幅图像。然后会向用户提供这三张图片,并要求他们选择一张。如何调整映射以生成不同的黑白图像?

您可以 "ring the changes" 像这样调整各种 R、G 和 B 分量的比例:

convert image.png -channel R -evaluate multiply .2 \
                  -channel G -evaluate multiply .5 \
                  -channel B -evaluate multiply .3 \
                   +channel -separate -compose add -flatten gray_253.png

convert image.png -channel R -evaluate multiply .3 \
                  -channel G -evaluate multiply .2 \
                  -channel B -evaluate multiply .5 \
                   +channel -separate -compose add -flatten gray_325.png

convert image.png -channel R -evaluate multiply .5 \
                  -channel G -evaluate multiply .3 \
                  -channel B -evaluate multiply .2 \
                   +channel -separate -compose add -flatten gray_532.png

所以第一个创建由 20% 的红色、50% 的绿色和 30% 的蓝色等组成的灰度...

另一个想法,如果您对区分颜色(即色调)感兴趣,可能是转换为 HSL 色彩空间并丢弃饱和度和亮度,只留下色调,然后将其对比拉伸到整个黑色范围白色调:

convert image.png -colorspace hsl -separate -delete 1,2 -auto-level result.png