我有一个用文本格式写的图像,我需要设置接近黑色到黑色的像素和接近白色的像素。
该文件使用ʜꜱʟ colour space,如下所示:
0,0: (19.2529%,100%,22.7451%) #31FF3A hsl(19.2529%,100%,22.7451%)
1,0: (18.5185%,98.1818%,21.5686%) #2FFA37 hsl(18.5185%,98.1818%,21.5686%)
2,0: (18.4524%,90.3226%,24.3137%) #2FE63E hsl(18.4524%,90.3226%,24.3137%)
3,0: (18.661%,100%,22.9412%) #30FF3B hsl(18.661%,100%,22.9412%)
4,0: (18.9891%,100%,23.9216%) #30FF3D hsl(18.9891%,100%,23.9216%)
5,0: (18.9076%,100%,23.3333%) #30FF3C hsl(18.9076%,100%,23.3333%)
6,0: (18.7107%,86.8852%,23.9216%) #30DE3D hsl(18.7107%,86.8852%,23.9216%)
7,0: (18.6275%,92.7273%,21.5686%) #30EC37 hsl(18.6275%,92.7273%,21.5686%)
8,0: (19.2192%,100%,21.7647%) #31FF38 hsl(19.2192%,100%,21.7647%)
9,0: (19.2529%,100%,22.7451%) #31FF3A hsl(19.2529%,100%,22.7451%)
10,0: (19.1667%,100%,23.5294%) #31FF3C hsl(19.1667%,100%,23.5294%)
11,0: (19.209%,96.7213%,23.9216%) #31F73D hsl(19.209%,96.7213%,23.9216%)
12,0: (18.7302%,84%,24.5098%) #30D63F hsl(18.7302%,84%,24.5098%)
13,0: (18.6275%,85%,23.5294%) #30D93C hsl(18.6275%,85%,23.5294%)
14,0: (18.6728%,93.1034%,22.7451%) #30ED3A hsl(18.6728%,93.1034%,22.7451%)
15,0: (18.7316%,100%,22.1569%) #30FF39 hsl(18.7316%,100%,22.1569%)
16,0: (18.5841%,100%,22.1569%) #2FFF39 hsl(18.5841%,100%,22.1569%)
17,0: (18.6186%,100%,21.7647%) #2FFF38 hsl(18.6186%,100%,21.7647%)
18,0: (18.6186%,100%,21.7647%) #2FFF38 hsl(18.6186%,100%,21.7647%)
19,0: (18.5841%,100%,22.1569%) #2FFF39 hsl(18.5841%,100%,22.1569%)
20,0: (18.5345%,100%,22.7451%) #2FFF3A hsl(18.5345%,100%,22.7451%)
21,0: (18.5345%,96.6667%,23.5294%) #2FF73C hsl(18.5345%,96.6667%,23.5294%)
22,0: (18.5345%,98.3051%,23.1373%) #2FFB3B hsl(18.5345%,98.3051%,23.1373%)
23,0: (18.5507%,100%,22.549%) #2FFF3A hsl(18.5507%,100%,22.549%)
24,0: (18.5507%,100%,22.549%) #2FFF3A hsl(18.5507%,100%,22.549%)
25,0: (18.5345%,98.3051%,23.1373%) #2FFB3B hsl(18.5345%,98.3051%,23.1373%)
26,0: (18.5345%,98.3051%,23.1373%) #2FFB3B hsl(18.5345%,98.3051%,23.1373%)
27,0: (18.5345%,100%,22.7451%) #2FFF3A hsl(18.5345%,100%,22.7451%)
28,0: (18.5673%,100%,22.3529%) #2FFF39 hsl(18.5673%,100%,22.3529%)
29,0: (18.5841%,100%,22.1569%) #2FFF39 hsl(18.5841%,100%,22.1569%)
30,0: (18.5673%,100%,22.3529%) #2FFF39 hsl(18.5673%,100%,22.3529%)
31,0: (18.5507%,100%,22.549%) #2FFF3A hsl(18.5507%,100%,22.549%)
32,0: (18.8218%,100%,22.7451%) #30FF3A hsl(18.8218%,100%,22.7451%)
33,0: (18.7316%,100%,22.1569%) #30FF39 hsl(18.7316%,100%,22.1569%)
34,0: (18.7302%,84%,24.5098%) #30D63F hsl(18.7302%,84%,24.5098%)
35,0: (18.5824%,60%,28.4314%) #2F9949 hsl(18.5824%,60%,28.4314%)
那么我(例如)如何替换上面的值(除了前2个数字(x,x:
),它们给出像素坐标) by { {1}}使用vim或awkor使用其他脚本工具?
我正在考虑使用ʜꜱʟ值的light / last部分来确定是否需要替换(除了(0%,0%,0%) #000000 hsl(0%,0%,0%)
)这一行,但我不知道该如何做此
答案 0 :(得分:0)
你可以试试这个:
awk '
BEGIN {
black="(0%,0%,0%) #000000 hsl(0%,0%,0%)"
white="(0%,0%,100%) #FFFFFF hsl(0%,0%,100%)"
}
{
line=$0
coords=$1
FS=","
$0=$0
match($4, "%")
sub("%.*", "", $4)
if ($4 < 25)
printf("%s %s\n", coords, black)
else if ($4 > 75)
printf("%s %s\n", coords, white)
else print line
FS=" "
}
' <img.txt