2016年3月19日土曜日

Clense 応用

前々回にClenseの解説をしました。

Clenseは時間軸ノイズ除去フィルタとしてはなかなか扱いが難しいですが、しかし3枚のフレームによるメディアンフィルタというのは、ちょっと工夫すると面白い使い方ができます。

例えば本来は同一の映像なのに、ノイズの出方が異なる3つのクリップV0,V1,V2があるとします。

で、この3つのクリップのメディアンを求めてやると
V0 = something
V1 = something
V2 = something
median = median3(V0, V1, V2)

StackVertical(StackHorizontal(v0, v1), StackHorizontal(v2, median))

function median3(clip c, clip p, clip n, bool "gray")
{
    gray = default(gray, false)
    c = c.DuplicateFrame(0)     #Clenseはpreviousとnextを前後に1フレームずつずらしてしまうので
    n = n.DuplicateFrame(0, 0)  #DuplicateFrameで位置合わせをする
    return Clense(c, p, n, gray).DeleteFrame(0)
}

ノイズというのは本来そうであるべき値より高い又は低い状態ですから、ノイズの出方がそれぞれ違っていればメディアンを取ってやれば消えるわけです。

ただしノイズが同じ場所に重なっていると、それは消えません。

アニメ/ドラマのOPとか、あるいは放送局違いで3種類のソースが手に入ったとかいう場合には使えるかもしれませんね。

目次:
RemoveGrain解説 導入
RemoveGrainの基本事項
RemoveGrain mode1~mode4
RemoveGrain mode5~mode12
RemoveGrain mode13~mode16
RemoveGrain mode17~mode22
RmoveGrain mode23/mode24 及び総評
Repair
Clense
Clense 応用

0 件のコメント:

コメントを投稿