View Single Post
Old 17th January 2011, 21:15   #4  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Hi tasslehoff44,

For the single frame you provided, it is simple.

Code:
Import("D:\AVS\SCRIPT\S_Exlogo.AVS")
ImageSource("D:\AVS\screenshot.bmp",fps=25.0)
ConvertToYUY2() # For S_ExLogo()

LOGOMODE=2	# 0 for setup, 2 for normal use

S_ExLogo(1720,38,108,94,logomode=LOGOMODE)

return Last
You can set "LOGOMODE" to 0 to see how it would look during
setup.

Quote:
I don't understand anything on your prefilter or the inpaint filter.
I presume you mean "PostFilter". I sometimes use S_Exlogo() as
a post processor to InPaintFunc(), help for which is best
obtained on it's page, see
here
for a comment I made on it.

I can only give a rough guide to how I usually use S_ExLogo
together with InPaintFunc, I dont have any kind of standard
script for it.

1.
I usually crop out an area somewhat bigger than
the logo, and export that from within VDubMod as a HuffYUV
encoded clip.

2.
I use InPaintFunc on the cropped AVI, usually
on trim'ed sequences on several machines simultaneously
(as InPaintFunc is quite sedate in pace). The results of the
InPaintFunc sequences are again saved as HUFFYUV avi's.
This step is VERY SLOW.

3a.
We process the results of step 2. after splicing the trim's
together if necessary. For best results, I think that it is better
to crop the patch area (area of logo) leaving about 4 to 8 pixels as a
border area and then use FFT3DFilter on this.

3b.
Use S_ExLogo() on the original clip with "amount=255".

3c.
Overlay() the step 3a. results back onto the step 3b.
results with corrected coordinates (This could be a
little tricky unless your used to playing with coordinates).


Notes:-
1. Area for InPaintFunc needs to be somewhat bigger than
the logo to give InPaintFunc something to work with. The
size of the border here, depends on the size of the logo.

2. Steps 1. and 2. could be combined.

3a. We dont need to apply FFT3DFilter to the area required
by InPaintFunc, we only want to use the logo area with a little
border to do a little spatio-temporal smoothing. (or some other
temporal/spatio-temporal smoother). Suggest something like:-
Code:
CROPLOGO=CROPLOGO.FFT3DFilter(interlaced=false,Plane=4,BT=3,sigma=3.0)
3c. You can vary the 'opacity' arg to Overlay() when mixing
the two de-logoed areas together (3a. and 3b. results).
Coords to use here, the x/y coords from step 1. plus the
size of the x/y cropping at step 3a.

The above multistep approach is so that we do the very slow
InPaintFunc step only once and can play with the eg opacity
arg to OverLay() to get the best settings.

Hope some of that makes sense.

Edit:-
The method of InPaintFunc filter is not really intended for video,
more for stills, and results in temporal anomalies.
The Dekafka/s_ExLogo method is not ideal either. The above
approach just allows you to mix both de-logo methods where
s_ExLogo is used to subdue InPaintFunc anomalies a little.

Have tried at step 3a. using step 2. results,
with FFT3DFilter followed by s_ExLogo (OR the other
way around) varying the s_ExLogo 'amount' arg, and
overlaying these results onto the original clip. However,
I NOW like doing it the way outlined above.

EDIT: Mistake, Changed 'AvsInpaint' to 'InPaintFunc'.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 16th June 2011 at 20:41. Reason: Spelt FFT3dFilter as FF3DFilter
StainlessS is offline   Reply With Quote