bash - 在图像上查找特定颜色坐标
问题描述
我想在图像上找到某种颜色(例如绿色)的第一次出现的坐标,以便可以在 bash 脚本中使用。
我一直在尝试使用 Imagemagick,但找不到解决问题的方法。
这可以用 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 命令会有所不同。
推荐阅读
- filebeat - 有没有办法使用 ELK 从 HTTP GET 请求中解析 HTML?
- json - 如何使用 Json 为我的不和谐 webhook 获取动画颜色
- javascript - 为什么 z-index 没有效果?
- android - 带有 android 的 Flutter 应用程序无法捕获回调 url
- python - macOS Conda 环境在 VSCode 中激活但未使用正确版本的 Python 或未找到已安装的包
- cassandra - cassandra 选择查询以在至少一列值条件为真时选择行
- python - 带有joblib的python中的并行循环引发奇怪的错误
- google-apps-script - DataStudio 不显示期间选项的维度
- scala - Spark Scala:在每个单元格中获取不同的文本值
- java - 获取枚举类型的注释