『漫游』酷论坛>『影音数码技术学习交流』>求助关于一个AVS滤镜 ..
求助关于一个AVS滤镜问题
ralphgu@2005-01-18 15:22
: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)
alcaid@2005-01-18 16:00
MFRAINBOW这个AVS我用过,速度狂慢,而且去彩虹斑的效果并不好,建议还是去找好一点的片源吧^_^
wolfsoft@2005-01-18 16:36
EdgeMask没定义
在edgemask = input.EdgeMask(0, "sobel").Inflate().GreyScale() .\这句之前找不到EdgeMask的定义(如plugin读取等等).你弄来的大概是个不完全版.
ralphgu@2005-01-18 18:30
引用
最初由 alcaid 发布
MFRAINBOW这个AVS我用过,速度狂慢,而且去彩虹斑的效果并不好,建议还是去找好一点的片源吧^_^
:D没有,就是想用用这个东西而已
:confused: 晕,再AVISYNTH那里下的……还有不完全的说法……
我再去看看
看玩归来
http://www.avisynth.org/index.php?page=mfRainbow
没感觉有差啊,莫非是所需的FILTER的版本问题?:(
wolfsoft@2005-01-18 18:50
LoadPlugin("f:\AVS-plugins\MaskTools-v1.5.5.dll")
LoadPlugin("f:\AVS-plugins\Msmooth.dll")
LoadPlugin("f:\AVS-plugins\Deen.dll")
把这三句加到你那个脚本里试试,那个EdgeMask可能是masktool里的.
另,你怎么搞到masktool的?我用代理都连不上那个死网站:(
weilai@2005-01-18 20:45
edgemask = input.EdgeMask(0, "sobel").Inflate().GreyScale() .\
Levels(0, clipstren, 255, 0, 255).ConvertToRGB32()
這算是一行
但後面的 GreyScale() .\ 應該是 GreyScale(). \
才對
所以試試看改正
P.S.這個語法錯誤還有下面兩處
ralphgu@2005-01-18 22:50
引用
最初由 wolfsoft 发布
LoadPlugin("f:\AVS-plugins\MaskTools-v1.5.5.dll")
LoadPlugin("f:\AVS-plugins\Msmooth.dll")
LoadPlugin("f:\AVS-plugins\Deen.dll")
把这三句加到你那个脚本里试试,那个EdgeMask可能是masktool里的.
另,你怎么搞到masktool的?我用代理都连不上那个死网站:(
这个肯定是有调用的……
:p me忘了,这几天逛DOOM9,无意中下的,具体地址。。。。。
引用
最初由 weilai 发布
edgemask = input.EdgeMask(0, "sobel").Inflate().GreyScale() .\
Levels(0, clipstren, 255, 0, 255).ConvertToRGB32()
這算是一行
但後面的 GreyScale() .\ 應該是 GreyScale(). \
才對
所以試試看改正
P.S.這個語法錯誤還有下面兩處
:confused: WEILAI兄说的是否是那个SPACE应该在().和\之间对吧
如果是的话,后面我只看到有一个而已,一共2处
:( 我试过了,试了两次,一次是改2处,一次改了4处(把冒号处也改了),错误同前
NovemberRain@2005-01-19 05:02
呵呵,角本没错,看看你DEEN的版本吧,最老版MFRAINBOW了,不过MF写的东西都不怎么好用,哪版都一样!
ralphgu@2005-01-19 10:01
最近才看到么
昨天又下了个0.3版的
我上面贴的是0.1版的
不过照样不好用……
郁闷一下,去翻翻新的版本去,再看看
找到MASKTOOLS的地址了
http://manao4.free.fr/MaskTools-v1.5.5.dll
DOOM9的帖子是这个
http://forum.doom9.org/showthread.php?s=&threadid=74003&highlight=blinddehalo
wolfsoft@2005-01-19 10:49
那个kurosu站真的kurosu了,可恨啊....这个法国站能连
| TOP