Photo Gallery

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

function ClipDiffCheck(clip v1, clip v2, string path, float "threshold", int "mode") {
threshold=default(threshold,1.0)
mode=default(mode,0)
assert(mode==0||mode==1,"Error: mode be between 0 and 1.")
global diff=overlay(v1, v2, mode="Difference",pc_range=true)
global path=path
global threshold=threshold
global v1=v1
global v2=v2
mode==0?scriptclip(v1, """ \
diff_u=averagechromav(diff) \
diff_u>128+threshold?writefile(stackhorizontal(v1,v2).spline36resize(v1.width, v1.height),path,"current_frame").subtitle("DIFF : "+string(diff_u-128),y=2).subtitle("DETECTION : TRUE",y=22):stackhorizontal(v1,v2).spline36resize(v1.width, v1.height).subtitle("DIFF : "+string(diff_u-128),y=2).subtitle("DETECTION : FALSE",y=22)
"""): \
mode==1?scriptclip(v1, """ \
diff_u=averagechromav(diff) \
diff_u>128+threshold?writefile(diff,path, "current_frame").subtitle("DIFF : "+string(diff_u-128),y=2).subtitle("DETECTION : TRUE",y=22):diff.subtitle("DIFF : "+string(diff_u-128),y=2).subtitle("DETECTION : FALSE",y=22)
"""): \
nop()
}


2 つのクリップの差が、DIFF という数値で表示されます。
DIFF > threshold となったフレームの番号をログファイルに書き出す関数です。
プレビューモードは 0 と 1 があり、それぞれ以下のように表示されます。

参考画像に使用したソースは、映像の一部が異なる TOX のオープニング、ジュード編とミラ編。



ClipDiffCheck(v1, v2, mode=0, threshold=1.0, path="C:\log.txt")
1791.png


ClipDiffCheck(v1, v2, mode=1, threshold=1.0, path="C:\log.txt")
1791_B.png


ClipDiffCheck(v1, v2, mode=0, threshold=1.0, path="C:\log.txt")
892_A.png


ClipDiffCheck(v1, v2, mode=1, threshold=1.0, path="C:\log.txt")
892_B.png






©いのまたむつみ ©藤島康介 ©2011 NAMCO BANDAI Games Inc.

スポンサーサイト
Avisynth では様々な映像フィルタが存在しますが、強度や閾値の調整幅が荒く、目的の効き目にするのが難しいといったものも少なくないと思います。

しかし、フィルタ適応前のクリップと、適応後のクリップをブレンドして、その比率を調整する手法で効き目の微調整を加えようというのが今回ご紹介する関数です。

やってることは極単純で、overlay 関数を使いやすくラップしてるだけです(汗


/*
clip 対象のクリップ
func 調整を加えたいフィルタ
rate 適応度% (0-100) default:50
*/
function Dilute(clip clip, string func, int "rate") {
rate=default(rate,50)
return overlay(clip,eval("clip."+func),mode="blend",opacity=float(rate)/100)
}


Dilute("AddGrainC(100)",rate=100)
778_100.png

Dilute("AddGrainC(100)",rate=50)
778_50.png

Dilute("AddGrainC(100)",rate=0)
778_0.png



©タツノコプロ・夜ノヤッターマン製作委員会 2015



WHAT'S NEW?

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