Получить пиксели изображения заданного цвета

519
ohadsc

У меня есть изображение (PNG или JPG), внутри которого есть хотя бы один пиксель определенного цвета RGB, который я знаю заранее. Я хочу найти пиксель (ы) этого цвета

Например, у меня может быть файл image.jpg, внутри которого я знаю, что какой-то пиксель имеет значение RGB 255 100 200. Я хочу программу, которая выдаст мне список пикселей (если есть) этого цвета на изображении.

Кто-нибудь знает инструмент, чтобы помочь мне с этим?

Спасибо!

2
Если ваше изображение является JPG, то вы никогда не можете быть уверены, что есть пиксель определенного цвета, потому что JPEG - это сжатие с потерями. Теоретически с файлом PNG это можно сделать. petersohn 14 лет назад 2
Хорошая точка зрения! Я буду работать с PNG ohadsc 14 лет назад 0

1 ответ на вопрос

5
DaveParillo

Установите imagemagick . Затем вы можете создать список каждого пикселя в изображении, используя что-то вроде:

convert foo.jpg foo.txt 

Текстовый файл будет содержать каждый пиксель в вашем изображении, 1 пиксель на строку:

0,0: (230,232,229) #E6E8E5 rgb(230,232,229) 1,0: (230,232,229) #E6E8E5 rgb(230,232,229) 2,0: (230,232,229) #E6E8E5 rgb(230,232,229) etc 

Если вы хотите найти один цвет, попробуйте:

FINDSTR E6E8E5 foo.txt > lightgrey.txt 

выгрузить файл каждого пикселя, содержащего цвет E6E8E5. Вы также можете найти часть строки rgb, если хотите.