Bildpixel der vorgeschriebenen Farbe erhalten

628
ohadsc

Ich habe ein Bild (PNG oder JPG), in dem sich mindestens ein Pixel einer bestimmten RGB-Farbe befindet, die ich im Voraus kenne. Ich möchte die Pixel dieser Farbe finden

Zum Beispiel kann ich image.jpg haben, in dem ich weiß, dass einige Pixel den RGB-Wert 255,100,200 haben. Ich möchte ein Programm, das mir eine Liste der Pixel (falls vorhanden) dieser Farbe im Bild gibt.

Kennt jemand ein Werkzeug, um mir dabei zu helfen?

Vielen Dank!

2
Wenn es sich bei Ihrem Bild um ein JPG-Bild handelt, können Sie nie sicher sein, dass ein Pixel einer bestimmten Farbe vorliegt, da JPEG eine verlustbehaftete Komprimierung ist. Mit einer PNG-Datei können Sie dies theoretisch tun. petersohn vor 14 Jahren 2
Guter Punkt! Ich arbeite mit PNG ohadsc vor 14 Jahren 0

1 Antwort auf die Frage

5
DaveParillo

Install imagemagick. You can then create a list of every pixel in an image using something like:

convert foo.jpg foo.txt 

The text file will contain every pixel in your image, 1 pixel per line:

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 

If you want to find a single color, try:

FINDSTR E6E8E5 foo.txt > lightgrey.txt 

to dump a file of every pixel containing the color E6E8E5. You can search for the rgb part of the line too, if you'd rather.