【发布时间】:2017-09-08 12:49:53
【问题描述】:
我对图像处理和 ImageMagick 还很陌生,但经过一番搜索后,我找不到直接解决问题的方法。 我仍然不了解 Color LookUp Table [CLUT] 在 ImageMagick 中的工作原理。
我有源图片:
我希望它看起来像这样:
这个想法是在源图像中我有灰度值,应该将其转换为颜色值 1:1
rgb(0, 0, 0) -> transparent
rgb(1, 1, 1) -> rgb(253,0,252)
rgb(2, 2, 2) -> rgb(252,0,23)
rgb(3, 3, 3) -> rgb(253,125,33)
rgb(4, 4, 4) -> rgb(254,217,48)
rgb(5, 5, 5) -> rgb(219, 255, 51)
rgb(6, 6, 6) -> rgb(59, 255, 46)
rgb(7, 7, 7) -> rgb(110, 165, 58)
rgb(8, 8, 8) -> rgb(18, 139, 54)
rgb(9, 9, 9) -> rgb(44, 255, 254)
rgb(10,10,10) -> rgb(18, 129, 252)
rgb(11,11,11) -> rgb(39, 19, 251)
rgb(12,12,12) -> rgb(115, 115, 115)
rgb(13,13,13) -> rgb(179,179,179)
但我不知道如何创建 CLUT 图像以使 ImageMagick 按我的意愿转换它。 我试图创建这样的东西:
...但是当我这样做时:
$> convert region_128x128.png color_lookup_table.png -clut region_128x128_clut.png
我明白了:
所以,问题是,是否可以为我的问题创建 CLUT?如果是这样,有人可以向我解释一下吗?
更新: 我找到了使用 ImageMagick 做我想做的事情的方法,我使用这个脚本:
#!/bin/bash
INPUT_FILE=$1
OUTPUT_FILE=$2
convert $INPUT_FILE -fill 'rgba(0,0,0,0.0)' -opaque 'rgb(0, 0, 0)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(253,0,252)' -opaque 'rgb(1, 1, 1)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(252,0,23)' -opaque 'rgb(2, 2, 2)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(253, 125, 33)' -opaque 'rgb(3,3,3)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(254, 217, 48)' -opaque 'rgb(4,4,4)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(219, 255, 51)' -opaque 'rgb(5,5,5)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(59, 255, 46)' -opaque 'rgb(6,6,6)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(110, 165, 58)' -opaque 'rgb(7,7,7)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(18, 139, 54)' -opaque 'rgb(8,8,8)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(44, 255, 254)' -opaque 'rgb(9,9,9)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(18, 129, 252, 1)' -opaque 'rgb(10,10,10,)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(39, 19, 251)' -opaque 'rgb(11,11,11,)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(115, 115, 115)' -opaque 'rgb(12,12,12)' $OUTPUT_FILE
convert $OUTPUT_FILE -fill 'rgb(179,179,179)' -opaque 'rgb(13,13,13)' $OUTPUT_FILE
但这肯定不是最佳解决方案。有什么办法可以用 CLUT 做到这一点?
【问题讨论】:
-
@Zindarod,clut 图片发布在
.. but when I do:上方
标签: imagemagick