Можно ли получить местоположение определенного цвета на изображении, используя bash?

У меня есть изображение, которое в основном белое, но имеет красный прямоугольник. Есть ли способ найти координаты этого красного прямоугольника, используя bash?

2 ответа

Вы можете использовать image-magick для работы с изображением. У них также есть первоклассный форум для любой помощи, которая может вам понадобиться.

Многое зависит от контрастности и вариативности пикселей на изображении. Для следующего примера изображения вы можете просто спросить ImageMagick's convert программа для обрезки фона, используя приблизительное нечеткое цветовое соответствие, оставляя только "важную" часть, в данном случае красный прямоугольник:

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

результаты в

Чтобы найти размер и положение полученного обрезанного изображения, вместо этого просто передайте вывод в ImageMagick's identify программа (обратите внимание на "-" для stdout и stdin).

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

Это печатает

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

где 176+44 является смещением x и y красного прямоугольника в исходном изображении, и 64x54 размер полученного обрезанного изображения.

Другие вопросы по тегам