にわとり遊び
PC関連とエンコードの覚書き
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2つのソースからノイズの無い部分を選んでブレンドする (FlexibleMerge)
FlexibleMerge
※MaskTools と MaskTools v2 が必要。
前回までの level,level2 を weight,weight2 に変更。float min:0 max:1
色変換せずYV12のままで済むようになったので結構早くなったと思います。
やってることはほぼ同じのはず。重ねがけしていた部分が上書きに変わったくらい。
ついでにCombcheckも。

function Combcheck (clip clip) {mt_merge(Grayscale(clip),ColorYUV(Grayscale(clip),gain_u=100,gain_v=100),CombMask(clip,thY1=16,thY2=16),luma=true)}

function FlexibleMerge (clip clip1,clip clip2,float "weight",float "weight2",int "mode",int "x",int "y",int "thr",int "show") {
thr=default(thr,10)
weight=default(weight,0.5)
weight2=default(weight2,0.9)
mode=default(mode,0)
cx=default(x,0)
cy=default(y,0)
show=default(show,0)
clip2=(mode==0) ? clip2 : Overlay(clip1,clip2,x=cx,y=cy)

Mask1=CombMask(clip1, thY1 = thr, thY2 = thr)
Mask2=CombMask(clip2, thY1 = thr, thY2 = thr)
mask3=mt_invert(mask2)#2がきれい
mask4=mt_logic(mask2,mask1,mode="andn")#1にノイズ、2はきれい

clip3=Merge(clip1,clip2,weight)
clip4=Merge(clip1,clip2,weight2)
clip=mt_merge(clip1,clip3,mask3,luma=true)
clip=mt_merge(clip,clip4,mask4,luma=true)

clip=(show==0) ? clip :
\(show==1) ? Combcheck(clip) : StackHorizontal(Combcheck(clip1),Combcheck(clip2)).ReduceBy2.StackVertical(ReduceBy2(Combcheck(clip)).AddBorders(clip.width/4,0,clip.width/4,0))
return clip
}

スポンサーサイト


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。