Script used:
p1=ImageSource("raw.png").ConvertToYV12(interlaced =true)
p2=ImageSource("yt.png").ConvertToYV12(interlaced= true)
p1.WriteHistogram("raw.hist.txt", 1)
p2.WriteHistogram("yt.hist.txt", 1)
AviSource("Cher Rosie.avi")
ConvertToYV12(interlaced=true)
ColourLike("raw.hist.txt", "yt.hist.txt")
AssumeTFF().ConvertToRGB32(matrix="Rec601",interla ced=true).Crop(11,4,-13,0).AddBorders(12,4,12,0)
yt.png:
and here's a before/after...as you can see the blues are a bit too saturated in the resulting video causing the bright baby blue artifacts in the blue background/lights but I'm not sure what to do to correct this. The source was really washed-out:
![]()
+ Reply to Thread
Results 1 to 30 of 182
-
-
Try cropping the frames so that the two sample image match. And eliminate the black borders. Try toning down yt.png a bit so Colorlike() is less likely to overshoot.
-
ColourLike is less than perfect, but in this case the two scenes are too dissimilar and don't work well with the same histogram. Your png's are interlaced (?). What was your source for the png's? I'm guessing you made a screen capture in Windows (the capture format in clipboard will be non-interlaced BMP, right? Correct me on that one, ye powers that be).
I've used Colourlike many times, but with scenes that were fairly similar in the type and placement of objects, overall lighting. etc, evn if the color, saturation, levels, etc., weren't that close. When Colourlike doesn't work for whatever reason, you're kinda stuck with knowing how to work with colors and contrast on your own. If you take your "before" scene in YUV and reduce brightness, correct levels, increase saturation, it should be closer to the "after". The colors look mostly like RGB errors (but this doesn't mean you can't fix 'em in AviSynth).
If you read the pixel color values on furniture and other objects in the vt.png scene, you'll see that the pixels in the before and after scene don't have color values near those in yt.png. Those artifacts likely come from Colourlike trying to match scenes that are too dissimilar. Also, the "black" area in the top of the before shot was too light but is closer to black (about RGB 46 46 46 in most areas) than the "black" in the after shot, which is a bit short on blue. The levels in the after shot are better and the color is probably closer to what you want, based on yt.png, but there's no reason you couldn't get there from the before shot without Colourlike.
I'd try another histogram sample at step 1. -
Oh I didn't know you could use video clips rather than stills. I've since managed to use a different raw/yt frame and have gotten rid of the overshooting but I imagine now I could use videos to build the histograms and get an even better result. My next question is this...here is my script thus far:
p1=ImageSource("raw.png").ConvertToYV12(interlaced =true)
p2=ImageSource("yt.png").ConvertToYV12(interlaced= true)
p1.WriteHistogram("raw.hist.txt", 1)
p2.WriteHistogram("yt.hist.txt", 1)
AviSource("Cher Rosie.avi")
ConvertToYV12(interlaced=true)
ColourLike("raw.hist.txt", "yt.hist.txt")
AssumeTFF().ConvertToRGB32(matrix="Rec601",interla ced=true).Crop(11,4,-13,0).AddBorders(12,4,12,0)
Trim(99,23886).FadeIn(41).FadeOut(16)
and I'd like to add: MergeChroma(last,McTemporalDenoise(last, settings="very high", edgeclean=true, ecrad=3, stabilize=true, maxr=2, interlaced=true))
but I'm not sure where to put it in the script...VirtualDub keeps giving me an error "Avisynth read error: CAVIStreamSynth: System Exception - Access violation at..." -
MCTemporalDenoise at "very high" will make that after shot very soft (it's already pretty foggy to begin with).
Colourlike also works in RGB, and png is RGB to begin with. But that would mean moving back to YUV for McTemporalDenoise. You'll have to denoise after using Colourlike; it doesn't do any good to make a histograms of a noisy clip, then denoise it, and then feed the earlier un-denoised histogram to ColourLike.
ColourLike can get you into the ballpark matching one scene with another, but it will seldom be a perfectly exact match. You'll have to tweak the result. -
I had it laid out like this when I got that error and I'm still not sure where to put it:
p1=ImageSource("raw.png").ConvertToYV12(interlaced =true)
p2=ImageSource("yt.png").ConvertToYV12(interlaced= true)
p1.WriteHistogram("raw.hist.txt", 1)
p2.WriteHistogram("yt.hist.txt", 1)
AviSource("Cher Rosie.avi")
ConvertToYV12(interlaced=true)
ColourLike("raw.hist.txt", "yt.hist.txt")
MergeChroma(last,McTemporalDenoise(last, settings="very high", edgeclean=true, ecrad=3, stabilize=true, maxr=2, interlaced=true))
AssumeTFF().ConvertToRGB32(matrix="Rec601",interla ced=true).Crop(11,4,-13,0).AddBorders(12,4,12,0)
Trim(99,23886).FadeIn(41).FadeOut(16)
Thanks for the advice on the settings...I'll probably test out "medium" or "low" and see how it looks.Last edited by Cherbette; 20th Oct 2011 at 14:01.
-
I don't think sanlyn relized you were only using the chroma channels from McTemporalDenoise().
-
-
Yep. Tried it myself. But with all the noise in the shots I see above, heavy-duty just might be necessary. I try to test denoising (whether luma, chroma or both) with lighter settings to start, get heavier only if needed. This is VHS after all, not that many pixels to play with.
-
Cherbette's other clips have shown heavy VHS purple/green chroma noise. It takes MCTD's high settings to get rid of it.
-
-
Most people don't realize that NV is a multi-function filter (spatio-temporal). It even does a bit of motion compensated temporal cleaning (be careful with it, tho, it can over-smooth just like anything in AviSynth if set too high). You might note in NV's advanced interface that it has settings for Y, U, and V channels instead of RGB (actually, it's YCbCr by default. Similar to YUV, but not quite). If you see Neat Video removing too much fine detail, cut down on the Y-channel filter and work mostly with Cr and Cb. Some of the fine-grain tape "sizzle" might remain if you do that, but adding any plain vanilla temporal filter after NV will catch that. The quality of the noise sample patch has a lot to do with that.
-
I just realized somehow I captured this whole video without audio...I rip the audio through my EMU 0202 because I find it does a better job than the VC500 so I'm gonna have to recapture lol
-
Well I was going to upload a screen cap of my latest effort but every time I press upload a red exclamation point pops up and it doesn't upload the PNG
-
Ok I finally got it to let me upload. Here's a screencap of the "ColourLike" result with no further tweaking as of yet except MCTemporalDenoise:
And I used these two caps for ColourLike:
Current script:
p1=ImageSource("raw.png").ConvertToYV12(interlaced =false)
p2=ImageSource("yt.png").ConvertToYV12(interlaced= false)
p1.WriteHistogram("raw.hist.txt", 1)
p2.WriteHistogram("yt.hist.txt", 1)
AviSource("Cher Rosie.avi")
ConvertToYV12(interlaced=true)
ColourLike("raw.hist.txt", "yt.hist.txt")
AssumeTFF()
MergeChroma(last,McTemporalDenoise(last, settings="very high", edgeclean=true, ecrad=3, stabilize=true, maxr=2, interlaced=true))
ConvertToRGB32(matrix="Rec601",interlaced=true).Cr op(11,4,-13,0)
AddBorders(12,4,12,0)
LanczosResize(704,480) -
I don't quite get what you're trying to do here with ColourLike. The scenes in the two title shots have nothing in common with the closer shot with Cher. There's no reason why the two shots should "look alike".
-
There are pics of 3 scenes above, not two. Which scenes are the source for the two hist.txt files? You have two title-card shots, yt.png and raw.png. You then introduce an avi named Cher Rosie.avi, but Colourlike is looking at histograms for raw and yt, not for the shot of Cher's face.
I think you were trying to use the histogram from the title-card caps to make the scene of Cher match the title card scene. The script did this:
1. Scene A posters (the master histogram you want to emulate) = write histogram as A_hist.txt
2. Scene B posters (histogram of the scene that will be modded) = save as B_Hist.txt
3. Scene C Cher (modify B posters to look like A posters, then change C's colors/levels to look like modified B poster colors/levels)
The effect would be to make Cher's face look like the colors in the poster shots.
Colourlike tries to make Scene B look like scene A, or vice-versa. Your script made Scene B look like Scene A, then introduced an unrelated scene C and made it look like modified-B.
ColourLike is designed to work like this:
1. Write the histogram for scene A as A_hist.txt
2. Write the histogram for Scene B as B_Hist.txt
Make Scene B look Scene A:
Scene B.("B_hist.txt", "A_Hist.txt")
Or...
make A look like B:
Scene A.("A_hist.txt", "B_Hist.txt") -
So then my script should look something like this?
p1=ImageSource("yt.png").ConvertToYV12(interlaced= false)
p2=ImageSource("raw.png").ConvertToYV12(interlaced =false)
p1.WriteHistogram("yt.hist.txt", 1)
p2.WriteHistogram("raw.hist.txt", 1)
AviSource("Cher Rosie.avi")
ConvertToYV12(interlaced=true)
ColourLike("yt.hist.txt", "raw.hist.txt")
AssumeTFF()
MergeChroma(last,McTemporalDenoise(last, settings="very high", edgeclean=true, ecrad=3, stabilize=true, maxr=2, interlaced=true))
ConvertToRGB32(matrix="Rec601",interlaced=true).Cr op(11,4,-13,0)
AddBorders(12,4,12,0)
LanczosResize(704,480)
Also....when I tried to use one of the stills of Cher's face for yt.png as a reference for colourlike it gave me the oddball artifacts in some of the colors like I mentioned before. I was curious if I can use more than one raw/yt video clip or still to make several histograms for colourlike. Jagabo mentioned using video clips instead of stills but I'm not entirely sure how to perfectly align my raw vid and the youtube vid. I've been aligning the still frames used for colourlike in photoshop that way I made sure I had perfect alignment. -
That's the same script you posted earlier, with yt and raw reversed. You still have 3 shots instead of 2.
You're trying to make ColourLike correct every scene in your video with a histogram from a single frame. Like using the same YUV and RGB filter settings and the same script for all scenes and every video, it doesn't work.
Why not try adjusting these scenes on their own, without ColourLike? -
They don't have to be lined up unless there's something very different about the edges of one of the clips. Just crop away borders that might have colors outside the range of the main video.
p1=AviSource("clip1.avi").Crop(32,32,-32,-32)
p2=AviSource("clip2.avi").Crop(32,32,-32,-32)
p1.WriteHistogram("yt.hist.txt", 10) #ie, every 10th frame
p2.WriteHistogram("raw.hist.txt", 10)
etc. -
I don't know what you mean by "aligned". Two scenes have to have a few elements in common, but they don't have to be exactly alike. You wouldn't expect a studio shot of some title cards to have the same color values and levels as a medium shot of Cher in another part of the studio; the first shot is primarily bright pastels, the second is primarily skin tones and dark hair. There's no way they can share the same histogram. If your video has several long shots like that of the full view of the stage, furniture, people,. etc., and if some of those full-view shots looked whacko with different color and levels (often the case with VHS), it's likely that ColourLike could make those scenes look nearly alike - as well they should because they all have the same objects, people, lighting, etc., in common, even if some might have the camera panning or moving around a bit for a slightly different angle.
The utube video had entirely different subject matter and artistic intent. It was used to correct a scene that was effectively the same shots of the same objects (but even the results required a bit more tweaking to look "exact"). There's no way its histogram could be used for Cher Rosie.avi studio shots. It's a totally different setting that requires treatment of its own. If you took the dark, brooding colors of a Bourne action movie and tried to use its histograms to color-correct a bad copy of Toy Story, you'd be in a mental care facility before long.
Your script would work OK to correct the two title card shots. But that same lighting and overall color emphasis can't be used for the Cher shot; her skin tones shouldn't look like poster colors. That's why it doesn't work.
I think you're still of the mind that every video has the same graphics data in every scene, and one simple filter will correct the whole thing. Wow, if only that were true! -
-
Why not try adjusting these scenes on their own, without ColourLike?[/QUOTE]
I must be not understanding something *scratches head* I only see the raw.png and yt.png in my script...where does the third one come into play?[/QUOTE]
I see 3 caps in that post: two shots of the title card posters, and one shot of Cher. The two shots of the posters look different in levels and saturation, so I take it they're from 2 separate shots (?). If they're actually the same shot, why don't they look alike? The "3rd" shot is Cher's face.
From your post I take it to mean that you used the same histogram to fix the shots of the posters and to fix the shot of Cher you posted above them as the "result." So, what does the video "Cher Rosie.avi" segment actually contain? Did it have multiple scenes that included shots of the posters, shots of Cher, Rosie, Cher and Rosie together, the full-stage shots, and everything else? What sample histogram did you use for the Cher image? -
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\FFms2.dll")
p1=AviSource("Cher Rosie.avi").ConvertToYV12(interlaced=true).Trim(35 96,3727).Crop(10,4,-8,0)
p2=FFVideoSource("C:\Documents and Settings\Administrator\My Documents\Downloads\Cher - Rosie ODonnell Interview [1996].flv").AssumeTFF().ConvertToYV12(interlaced=false) .Trim(2942,3051).Crop(32,6,-32,-8)
p1.WriteHistogram("Cher Rosie.hist.txt", 10)
p2.WriteHistogram("Cher - Rosie ODonnell Interview [1996].hist.txt", 10)
AviSource("Cher Rosie clip.avi")
ConvertToYV12(interlaced=true)
ColourLike("Cher Rosie.hist.txt", "Cher - Rosie ODonnell Interview [1996].hist.txt")
AssumeTFF()
MergeChroma(last,McTemporalDenoise(last, settings="very high", edgeclean=true, ecrad=3, stabilize=true, maxr=2, interlaced=true))
ConvertToRGB32(matrix="Rec601",interlaced=true).Cr op(11,4,-13,0)
AddBorders(12,4,12,0)
LanczosResize(704,480)
That's the script I am working on for using video clips for the histograms instead...but for some reason I keep getting an error. Hmph...gonna keep toying with it. For one thing I don't think the youtube clip is interlaced...and it's 25fps...my raw capture is 29.97fps and interlaced. -
I must be not understanding something *scratches head* I only see the raw.png and yt.png in my script...where does the third one come into play?[/QUOTE]
I see 3 caps in that post: two shots of the title card posters, and one shot of Cher. The two shots of the posters look different in levels and saturation, so I take it they're from 2 separate shots (?). If they're actually the same shot, why don't they look alike? The "3rd" shot is Cher's face.
From your post I take it to mean that you used the same histogram to fix the shots of the posters and to fix the shot of Cher you posted above them as the "result." So, what does the video "Cher Rosie.avi" segment actually contain? Did it have multiple scenes that included shots of the posters, shots of Cher, Rosie, Cher and Rosie together, the full-stage shots, and everything else? What sample histogram did you use for the Cher image?[/QUOTE]
Yeah the first one of her face I posted was the "after" when I used the two caps of the title card (one from my video and one from the youtube rip) to ColourLike but now I think I'll try to sync it up to moving video. I suppose I could try and correct it without using ColourLike but I figured my source was so incredibly washed out and desaturated that this method might be a little better. But there again I'm still learning here so you guys know better than I do -
Oh and yes the Cher Rosie.avi clip contains the whole interview segment about 12 minutes long with one commercial break in the middle...which comes back from break with a set change redesigned with things from Cher's home decor catalog company she had at the time. It shows the entire set, closeups of Cher Rosie etc etc
-
OK, hope I don't sound like I'm scolding off the edge here (I look back at my posts sometimes and think, wow, did you have too much coffee or something to sound that way?), but. . .you can't use one histogram to correct every minute of that video. So, not only does that avi have more than one scene (or more than one "shot", if you prefer the term), but it has multiple shots that have nothing in common with the levels, colors, and structure of the title card shots. Look at the image of Cher you posted. A histogram would show truncated color areas and sharp color peaks and gaps. The image has so little detail it looks like anime or something by Andy Warhol. It shows severe color banding and posterization (false contouring). This results from stretching or distorting a histogram to make it look like, well, something it shouldn't look like.
If you don't see these effects, or if they don't matter, you can use a sample clip from any part of any one of your videos and apply them to hundreds of hours of captures. No one would prevent you from doing that, and it would be a really easy, one-button way of "adjusting" your videos to let a single script do it "automatically". But you won't like the results.
Similar Threads
-
DVD playback problem, possibly a file structure problem?
By snuhmcsnort in forum Newbie / General discussionsReplies: 8Last Post: 17th Aug 2010, 04:23 -
problem after problem - dvd architect, not enough room in temp files
By jgeck90 in forum Newbie / General discussionsReplies: 7Last Post: 1st Dec 2008, 03:35 -
HDD problem, gigabyte's easy tune major problem and etc....
By MidnightMike in forum ComputerReplies: 4Last Post: 28th Jul 2008, 21:57 -
video card problem causing watching movies problem?
By vipertongn in forum ComputerReplies: 3Last Post: 11th Jun 2008, 11:39 -
WinTV PVR 150 problem and Geforce 7600 GS problem
By deck in forum Capturing and VCRReplies: 5Last Post: 16th Jun 2007, 03:03