版面规则
提问时请注意:尽量详细描述操作过程、AVS脚本内容等,最好能写出片名,只贴图有时无法看出问题原因。
提示:发布原创内容请尽量使用附件上传。使用网盘会出现过期失效的问题,请注意。
海波湛蓝
帖子: 68
注册时间: 2011-02-24 21:39

求教,masktool有没有 获取ClipA,ClipB相同的部分 然后覆盖到ClipC 的方法

求教,masktool有没有 获取ClipA,ClipB相同的部分 然后覆盖到ClipC 的方法

囫囵地研习了下06_taro菊苣的masktools教程,突发这样的想法

现在的deinterlace插件,效果各有千秋
有的整体效果好,但对已内嵌字幕破坏很大
有的相反,整体处理效果一般,但字幕保留较好

所以想,能不能通过抠出两种不同的,对字幕保存较好的deinterlace后的Clip的近似部分(理想状态下应该是字幕部分
然后覆盖上整体效果好,但字幕处理不佳的

{:cat_13}
上次由 海波湛蓝 在 2013-01-21 18:49,总共编辑 1 次。
头像
-o-o-304-o-o-
超级版主
帖子: 640
注册时间: 2010-10-10 20:00
来自: US
联系: 网站

Re: 求教,masktool有没有 获取ClipA,ClipB相同的部分 然偶覆盖到ClipC 的方法

请仔细看这一块的内容
http://www.nmm-hd.org/newbbs/viewtopic. ... =770#p6978
小标题--基於mt_lut的強大工具——make/adddiff
► 显示剧情透露 En Taro 06!Taro Pie NC Fanclub project始动!聊天用Q群开放中
► 显示剧情透露 胸中有万言,退敌无一策,是谓书生误国"
► 显示剧情透露 前辈们的信念
► 显示剧情透露 妇联招新广告,走过路过可以看看撒
► 显示剧情透露 香芋派,后期菊苣们的一致选择
► 显示剧情透露 众菊苣喜评香芋派
► 显示剧情透露 聊天用工具
海波湛蓝
帖子: 68
注册时间: 2011-02-24 21:39

Re: 求教,masktool有没有 获取ClipA,ClipB相同的部分 然偶覆盖到ClipC 的方法

-o-o-304-o-o- 写了:请仔细看这一块的内容
http://www.nmm-hd.org/newbbs/viewtopic. ... =770#p6978
小标题--基於mt_lut的強大工具——make/adddiff
谢谢-o-o-304-o-o-菊苣的回复=v=

不过这贴中

makediff是弄出clipA和clipB的差异部分diff
adddiff是把diff弄到某一clip上去

没研究出取出ClipA,ClipB相同部分的方法
头像
Billy Herrington
帖子: 83
注册时间: 2013-01-09 9:54

Re: 求教,masktool有没有 获取ClipA,ClipB相同的部分 然偶覆盖到ClipC 的方法

[syntax lang="avisynth" lines="f"]Function YOU_DONT_NEED_TO_KNOW_NCPP(clip src, clip nc){
src
w = width
h = height
ncdif = mt_lutxy(nc, "x y - abs", U=3, V=3)
ncdiU = ncdif.UToY.BilinearResize(w, h)
ncdiV = ncdif.VToY.BilinearResize(w, h)
ncdif = ncdif.mt_logic(ncdiU, "max")
\ .mt_logic(ncdiV, "max")
ncdi4 = ncdif.mt_binarize(4)
ncdi2 = ncdif.mt_binarize(2)
ncdif = mt_hysteresis(ncdi2, ncdi4)
ncdif = mt_merge(ncdif.Trim(0, -1).BlankClip(color_yuv=$000000).Loop(ncdif.FrameCount()),
\ ncdif,
\ mt_hysteresis(ncdif.RemoveGrain(4, -1).RemoveGrain(4, -1), ncdif), U=1, V=1)
\ .mt_expand(mode=mt_circle(3))

return mt_merge(nc.YOU_DONT_NEED_TO_KNOW_Destripe(),
\ mt_merge(last,
\ vinverse(sstr=3.5).Repair(last), /* Fading credits */
\ TCombMask(1, 1, lclinked=True).RemoveGrain(4, -1).mt_expand(), luma=True),
\ ncdif, luma=True)
}[/syntax]Like this?
头像
-o-o-304-o-o-
超级版主
帖子: 640
注册时间: 2010-10-10 20:00
来自: US
联系: 网站

Re: 求教,masktool有没有 获取ClipA,ClipB相同的部分 然偶覆盖到ClipC 的方法

海波湛蓝 写了:
-o-o-304-o-o- 写了:请仔细看这一块的内容
http://www.nmm-hd.org/newbbs/viewtopic. ... =770#p6978
小标题--基於mt_lut的強大工具——make/adddiff
谢谢-o-o-304-o-o-菊苣的回复=v=

不过这贴中

makediff是弄出clipA和clipB的差异部分diff
adddiff是把diff弄到某一clip上去

没研究出取出ClipA,ClipB相同部分的方法
A - B = C ==> A = B + C ==> B = A - C
小白的理解,就是字面意思嘛
不太明白您这哪里没弄懂……
► 显示剧情透露 En Taro 06!Taro Pie NC Fanclub project始动!聊天用Q群开放中
► 显示剧情透露 胸中有万言,退敌无一策,是谓书生误国"
► 显示剧情透露 前辈们的信念
► 显示剧情透露 妇联招新广告,走过路过可以看看撒
► 显示剧情透露 香芋派,后期菊苣们的一致选择
► 显示剧情透露 众菊苣喜评香芋派
► 显示剧情透露 聊天用工具
海波湛蓝
帖子: 68
注册时间: 2011-02-24 21:39

Re: 求教,masktool有没有 获取ClipA,ClipB相同的部分 然偶覆盖到ClipC 的方法

Billy Herrington 写了:Like this?
Thank you, but this is not what I want......
-o-o-304-o-o- 写了:A - B = C ==> A = B + C ==> B = A - C
小白的理解,就是字面意思嘛
不太明白您这哪里没弄懂……
呃。。不好意思,应该是我表述不清。。
是A ∩ B=X,X+C=最终结果
bakabakashi
帖子: 32
注册时间: 2011-06-01 14:09

Re: 求教,masktool有没有 获取ClipA,ClipB相同的部分 然偶覆盖到ClipC 的方法

海波湛蓝 写了:
Billy Herrington 写了:Like this?
Thank you, but this is not what I want......
-o-o-304-o-o- 写了:A - B = C ==> A = B + C ==> B = A - C
小白的理解,就是字面意思嘛
不太明白您这哪里没弄懂……
呃。。不好意思,应该是我表述不清。。
是A ∩ B=X,X+C=最终结果
x=mt_lutxy(a,b,"x y - 0 = 0 255 ?")
mt_merge(a,c,x)

大概是这么个意思?
海波湛蓝
帖子: 68
注册时间: 2011-02-24 21:39

Re: 求教,masktool有没有 获取ClipA,ClipB相同的部分 然偶覆盖到ClipC 的方法

bakabakashi 写了:x=mt_lutxy(a,b,"x y - 0 = 0 255 ?")
mt_merge(a,c,x)

大概是这么个意思?
谢谢 {:cat_11} ,从效果上看是酱紫的,虽然内涵还没完全悟过来 {:cat_5}
头像
-o-o-304-o-o-
超级版主
帖子: 640
注册时间: 2010-10-10 20:00
来自: US
联系: 网站

Re: 求教,masktool有没有 获取ClipA,ClipB相同的部分 然偶覆盖到ClipC 的方法

海波湛蓝 写了:
bakabakashi 写了:x=mt_lutxy(a,b,"x y - 0 = 0 255 ?")
mt_merge(a,c,x)

大概是这么个意思?
谢谢 {:cat_11} ,从效果上看是酱紫的,虽然内涵还没完全悟过来 {:cat_5}
换种说法看看?
[syntax lang=avisynth]
a=clip_A
b=clip_B
c=clip_C
#3个输入的clip
condition=mt_polish("(x - y) = 0 ? 0 : 255")
#后缀式转换成中缀式
mask = mt_lutxy(a, b, condition)
#clipA和clipB做运算,生成一个mask。这个mask中,相同的部分(x-y=0条件符合的部分)值为0,不同的部分值为255。
mt_merge(a, c, mask)
#以mask准进行merge。
[/syntax]
没理解错的话,和这个是一样的(我想的思路是类似下面的……
[syntax lang=avisynth]
a=clip_A
b=clip_B
c=clip_C
condition=mt_polish("(x - y) = 0 ? 255 : 0")
mask = mt_lutxy(a, b, condition)
mt_merge(c, a, mask)
[/syntax]
► 显示剧情透露 En Taro 06!Taro Pie NC Fanclub project始动!聊天用Q群开放中
► 显示剧情透露 胸中有万言,退敌无一策,是谓书生误国"
► 显示剧情透露 前辈们的信念
► 显示剧情透露 妇联招新广告,走过路过可以看看撒
► 显示剧情透露 香芋派,后期菊苣们的一致选择
► 显示剧情透露 众菊苣喜评香芋派
► 显示剧情透露 聊天用工具

回到 “AviSynth”