Log in

View Full Version : adjust the levels of chroma channels


mathmax
30th October 2012, 18:55
Hello

I would like to fix the problem on the bright area in the image below.

As you can see, the RGB histograms shows irregular peaks around 255: the R peak is huge, the B peak is medium and the G peak is low.

Is there a way to adjust the levels of each channel individually? Usually the levels applies on luma, but I would like to adjust each chroma channel and to cut the values above 250, this in order to wash this area to white.

http://img69.imageshack.us/img69/4820/highluma0000.png

Mounir
30th October 2012, 19:10
it's best to deal with chroma in rgb in my experience although a bit of preprocess with coloryuv don't hurt , for virtualdub there are 3 filters i like: colormill , rgb equalizer and gradation curves
have a look here: http://www.engon.de/audio/vhs4_en.htm

IanB
30th October 2012, 22:02
Use something like Levels(230, 1.0, 235, 0, 255, coring=False) to create a 0 to 255 mask of the effected areas.

Then overlay a GreyScale(), zero saturation, version of the clip into the masked areas, something like :-

Overlay( GreyScale(), Mask=Levels(230,1.0,235, 0,255, coring=False) )

Adjust the 230 and 235 values to best suit finding the aberrant pixels.

mathmax
30th October 2012, 22:06
Thank you

I tried to play with RGB equalizer but I don't really succeed to fix this problem properly..

Would someone be so kind to have a try? Here is a short sample:
http://www.mediafire.com/?47bz11g1hf28y30

Any advices is also very welcome :)

EDIT: @IanB
I was thinking about something like this.. and I'll try it right now. Thank you :)

mathmax
30th October 2012, 22:38
I don't like the result so much.. :s

-first, I needed to apply Greyscale() on the mask
-second, the mask also concerns the bright part around the pink area.. and it makes it look grey, which is not the desired effect. :s

The weird thing is that this pink area should be the brightest part.. but because of oversaturation, it becomes finally less bright than the rest. Is it due to a wrong YUV<->RGB convertion?


original
http://imageshack.us/a/img341/9333/original0000.png

mask
http://img194.imageshack.us/img194/9331/mask0000.png

fixed
http://imageshack.us/a/img853/8127/fixed0000.png

TheSkiller
30th October 2012, 22:40
What about


R=Levels(0,1,255, 0,210, false) #not tested
G=last
B=last
MergeRGB(R,G,B)

mathmax
30th October 2012, 22:50
What about


R=Levels(0,1,255, 0,210, false) #not tested
G=last
B=last
MergeRGB(R,G,B)

I don't understand it..

Guest
30th October 2012, 22:55
@mathmax

Please clarify in a PM to me regarding the origin of this video to get the thread re-opened.