Можно ли получить местоположение определенного цвета на изображении, используя 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
размер полученного обрезанного изображения.