【发布时间】:2020-10-01 22:10:16
【问题描述】:
我想在图像上找到某种颜色(例如绿色)第一次出现的坐标,以便在 bash 脚本中使用。
我一直在尝试使用 Imagemagick,但找不到解决问题的方法。
这可以用 Imagemagick 完成还是我应该使用其他任何东西?
【问题讨论】:
-
我发给你的代码就是这样做的。排序后获取 yArr 的第一个元素。这将是您的颜色区域的边界框的左上角。
标签: bash imagemagick
我想在图像上找到某种颜色(例如绿色)第一次出现的坐标,以便在 bash 脚本中使用。
我一直在尝试使用 Imagemagick,但找不到解决问题的方法。
这可以用 Imagemagick 完成还是我应该使用其他任何东西?
【问题讨论】:
标签: bash imagemagick
这是 ImageMagick 中使用稀疏颜色的一种方法:(假设图像完全不透明)。 Sparse-color 将读出所有完全不透明像素的 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: 代替 sparse-color 可以获得类似的结果。但是用于过滤的unix命令会有点不同。
【讨论】: