查找图像上特定的颜色

时间:2020-10-01 22:10:16

标签: bash imagemagick

我想在图像上找到某种颜色(例如绿色)的首次出现的坐标,以便可以在bash脚本中使用。

我一直在尝试使用Imagemagick,但找不到解决问题的方法。

这可以用Imagemagick完成吗,还是我应该使用其他任何东西?

1 个答案:

答案 0 :(得分:0)

这是ImageMagick中使用稀疏颜色的一种方法:(前提是图像完全不透明)。稀疏颜色将读取所有完全不透明像素的x,y坐标和颜色。然后,您可以使用Unix工具获得第一个工具。

创建红色和蓝色图像:

convert -size 10x10 xc:red xc:blue -append x.png

找到第一个rgb(0,0,255),即蓝色像素

convert x.png sparse-color: | tr " " "\n" | grep "srgb(0,0,255)" | head -n 1

结果
0,10,srgb(0,0,255)

使用txt:代替稀疏颜色,可以获得相似的结果。但是用于过滤的unix命令会有所不同。

相关问题