miamicanes
18th September 2007, 20:22
Is there a filter that allows you to adjust saturation based upon how saturated a spot already is, or how bright the spot is?
The problem I have is that people look extremely unnatural because flesh that's in bright light is supersaturated reddish-orange, but flesh that's in more indirect light is almost gray. Also, in bright areas where there are saturated elements near less-saturated elements (say, a red sleeve in front of a pale yellow wall), the red spills out of the shirt and casts an aura on the wall. So I guess that what I want to do is to more or less uniformly attenuate saturation in areas where Y is bright, but only desaturate the most deeply-saturated colors in areas where Y is dim.
To illustrate better, to fix something like this in Photoshop, I might convert a copy of the image to Lab color, save its Luminance plane as a new grayscale image, go back to the original image, copy the saved Luminance plane to a new channel, load it as a selection mask (so the brightest parts of the scene were the most selected), then go adjust the saturation of the whole image (applying the change most strongly to the parts that were most selected).
Also, I know this is a newbie question, but I AM kind of a newbie with Avisynth... how do you apply a filter to only a subset of a video? For example, if my script were:
AviSource("c:/captured-video.avi")
ConvertToYV12()
FFT3Dfilter(sigma=2,sharpen=0,interlaced=true)
How might I apply a filter like Tweak() to frames 2400 to 3800?
The problem I have is that people look extremely unnatural because flesh that's in bright light is supersaturated reddish-orange, but flesh that's in more indirect light is almost gray. Also, in bright areas where there are saturated elements near less-saturated elements (say, a red sleeve in front of a pale yellow wall), the red spills out of the shirt and casts an aura on the wall. So I guess that what I want to do is to more or less uniformly attenuate saturation in areas where Y is bright, but only desaturate the most deeply-saturated colors in areas where Y is dim.
To illustrate better, to fix something like this in Photoshop, I might convert a copy of the image to Lab color, save its Luminance plane as a new grayscale image, go back to the original image, copy the saved Luminance plane to a new channel, load it as a selection mask (so the brightest parts of the scene were the most selected), then go adjust the saturation of the whole image (applying the change most strongly to the parts that were most selected).
Also, I know this is a newbie question, but I AM kind of a newbie with Avisynth... how do you apply a filter to only a subset of a video? For example, if my script were:
AviSource("c:/captured-video.avi")
ConvertToYV12()
FFT3Dfilter(sigma=2,sharpen=0,interlaced=true)
How might I apply a filter like Tweak() to frames 2400 to 3800?