是否可以使用 bash 获取图像中特定颜色的位置?

是否可以使用 bash 获取图像中特定颜色的位置?

我有一张大部分是白色但其中有一个红色矩形的图像。有没有办法使用 bash 找到该红色矩形的坐标?

答案1

您可以使用 image-magick 来处理图像。他们还有一个顶级论坛,可以为您提供所需的任何帮助。

答案2

很大程度上取决于图像中像素的对比度和可变性。对于以下示例图像,您可以简单地要求 ImageMagick 的convert程序使用近似值修剪背景模糊颜色匹配,只留下“重要”的部分,在本例中是红色矩形:

convert findred.png -fuzz 30% -trim out.png

在此处输入图片描述结果是在此处输入图片描述

要找到最终修剪图像的大小和位置,只需将输出导入 ImageMagick 的identify程序中(注意 stdout 和 stdin 的“-”)。

convert findred.png -fuzz 30% -trim - | identify -

这将打印

-=>/tmp/magick-... PNG 64x54 284x212+176+44  ...

其中176+44是原始图像中红色矩形的 x 和 y 偏移量,64x54是结果修剪图像的大小。

相关内容