:p 就是关于MFRAINBOW的使用
function mfRainbow(clip input, string "mode", float "clipstren", \
int "strength", bool "post") {
mode = Default(mode, "slowest") # processing speed, slow-slower-slowest
strength = Default(strength, 255) # processing strength, 0-255
clipstren = Default(clipstren, 5.0) # value clipping strength, 0.0-10.0
post = Default(post, true) # spatial postprocessing on/off
inputrgb = input.ConvertToRGB32()
edgemask = input.EdgeMask(0, "sobel").Inflate().GreyScale() .\
Levels(0, clipstren, 255, 0, 255).ConvertToRGB32()
derainbow = (mode == "slow" ? input.Deen("a3d",4,0,40,50) : \
(mode == "slower" ? input.Deen("a3d",4,0,20,50).Deen("a3d",4,0,20,50) : \
(mode == "slowest" ? input.Deen("a3d",4,0,15,50).Deen("a3d",4,0,15,50) .\
Deen("a3d",4,0,15,50).Deen("a3d",4,0,15,50) : Assert(false, "available modes: \
slow, slower, slowest")))).ConvertToRGB32()
maskedrainbow = Mask(derainbow, edgemask)
edgerainbow = Layer(inputrgb, maskedrainbow, "add", strength)
semifinal = input.MergeChroma(edgerainbow.ConvertToYV12())
blah = semifinal.MSmooth() # cause of a weird argument error
final = semifinal.MergeChroma(blah)
return post ? final : semifinal
}
这个貌似可以在YV12下去rainbow,但是看它的定义,似乎有颜色场的转换
:( 但是我使用时,用VDM读入AVS时,如下提示
Script error:Invalid Arguments of Function "Edgemask"
why?
所需要的fitler:MSmooth,MaskTools-v1.5.5.dll,Deen.dll
都已加载
AVISYNTH版本2.55
LoadPlugin("f:\AVS-plugins\MaskTools-v1.5.5.dll")
LoadPlugin("f:\AVS-plugins\Msmooth.dll")
LoadPlugin("f:\AVS-plugins\Deen.dll")
AviSource("tx.avi").ChangeFPS(23.976).mfRainbow("slowest",255,5.0,true)