Page 1 of 1
Levels
Posted: 2015-05-28T11:48:32-07:00
by myspacee
Hello,
i've a task to solve. At job ask me be able to adjust the color levels for some images.
I started by setting input and output of black and white for this image:
backround Image result too white for final destination (newspaper).
With white so white image appears to float on printed paper.
So, using photosh0p i level INPUT and OUTPUT :
How replicate, by setting parameters, the same effect using IM ?
thank you for any help,
m.
Re: Levels
Posted: 2015-05-28T12:05:35-07:00
by snibgo
Code: Select all
convert in.png -evaluate Min 95% out.png
Set the percentage to whatever you want.
Re: Levels
Posted: 2015-05-28T12:26:13-07:00
by myspacee
Thank you for reply Snibgo,
can you explain how [Min 95%] is able to represent two values ?
(input & output)
--------- EDIT ---------
My boss give me this to rapresent request about grayscale images:
m.
Re: Levels
Posted: 2015-05-28T12:32:12-07:00
by snibgo
It only represents one value. All inputs at 95% or above are capped at 95%. If you want something different, please explain.
Re: Levels
Posted: 2015-05-28T12:33:39-07:00
by fmw42
There are two points on the Photoshop Curves diagram in piecewise linear mode (not the Levels diagram). You are showing us only one of them at the top right corner. Note there is another point at the lower left, which we do not know from your picture. You need to show both.
If you are on Linux/Mac OSX or Windows with Cygwin, see my script PLM.
Also your boss's diagram is not very clear what he wants. You need two values for each point -- input vs output (as per the Photoshop diagram)
Does he want 7% input to go to 0 and 90% input to go to 255? If so then
should do that. But that is different from what you seem to be doing in the PS Curves window.
Re: Levels
Posted: 2015-05-28T13:07:13-07:00
by snibgo
The Photoshop straight-line effect can be done in two stages. "-level" (no "s") to increase the contrast and blacken shadows beneath 7%. Then -evaluate Min to cap highlight values at 90%.
Code: Select all
convert in.png -level 7%,100% -evaluate Min 90% out.png
Re: Levels
Posted: 2015-05-28T13:15:05-07:00
by myspacee
Hello,
reading some documentation.
Snibo while waiting write this:
Code: Select all
convert TOO_white.jpg -level 2x97%% TOO_white3.jpg
convert TOO_white3.jpg -evaluate Min 96%% TOO_white4.jpg
it's same ?
Code: Select all
convert in.png -level 2%,97% -evaluate Min 96% out.png
Need to study, come back for colors curves.. Thank you for now
m.
Re: Levels
Posted: 2015-05-28T13:20:46-07:00
by fmw42
If in place of 7% input going to 0 and 90% input going to 255, you want 0 to go to 7% and 255 to go to 90%, then do
Code: Select all
convert in.png -evaluate max 7% -evaluate min 90% out.png
Neither this nor my earlier code is the same as what is done in the PS Curves diagram.
Re: Levels
Posted: 2015-05-28T13:46:17-07:00
by fmw42
If you want to reproduce the PS Curves two point line, then you can solve the equation Y=aX+b using the two end points.
For example given the two endpoints in=X=7%, out=Y=5% and in=X=90%, out=Y=80%, then you have two equations, where I have converted percent values to a fraction:
5/100=a*7/100 + b
80/100=a*90/100 +b
or
5=a*7 + b*100
80=a*90 + b*100
then subtract the first from the second, gives
75=a*83 which yields a=75/83=0.904
now substitute a=0.904 into the second gives
80=0.904*90+b*100
or
80=81.33+b*100
or
b=-0.00133
Then one can use -function polynomial to make a straight line of the given slope and intercept and then -evaluate min/max to clip the output to the values 5% and 90%
Code: Select all
convert in.png -function polynomial 0.904,-0.00133 -evaluate max 5% -evaluate min 90% out.png
Re: Levels
Posted: 2015-05-30T10:31:52-07:00
by myspacee
Hello,
reading a lot i these days, and It has become a challenge between us colleagues
For grayscaleimages, the best result so far we obtained is this :
INPUT IMAGE
OUTPUT IMAGE
The yield in printed paper, favors this conversion than other. Post command :
Code: Select all
convert INPUT.jpg -colorspace Gray -normalize -level 0%,100%,1.3 -evaluate Min 93% OUTPUT.jpg
Can you explain step by step what exactly does ?
(the colleague who proposed this solution used throughout the 'magic' that IM can offer... [Lucky b*st*rd]
)
for example, I can not interpret 'level' use:
thank you for you time,
m.
Re: Levels
Posted: 2015-05-30T11:45:29-07:00
by fmw42
The -normalize is the same as -contrast-stretch 2%x1%, which expands the histogram endpoints by 2% on the black end and 1% on the high end. This increases the contrast.
-level 0%,100%,1.3 does not adjust the endpoints due to 0%x100% being a null operation. It simply applies a gamma of 1.3. So this command could be simplified to just -gamma 1.3.
The evaluate min 93% ensures no value is larger (whiter) than 93%.
So this should do the same
Code: Select all
convert INPUT.jpg -colorspace Gray -normalize -gamma 1.3 -evaluate Min 93% OUTPUT.jpg
Re: Levels
Posted: 2015-05-30T13:15:37-07:00
by myspacee
Thank you for the info,
m.