Mass recoloring of PNGs from command line

Solution 1:

"Mathematical Linear Histogram Adjustments"

Solution 2:

Thanks Ignacio for the great hint. Based on it, here are the answers:

First of all, to convert a single file. Say we want to convert test.png to orangeTest.png, multiplying R, G, and B by 1.0, 0.5, and 0.0, respectively. Here is the command:

convert test.png xc:'rgb(255,127,0)' -fx 'u*v.p{0,0}' orangeTest.png

Now, for the mass conversion:

for i in *.png; 
   do convert "$i" xc:'rgb(255,127,0)' -fx 'u*v.p{0,0}' "${i%.*}_orange.png"; 
done