GeneralConvolution
GeneralConvolution (clip, int "bias", string "matrix", float "divisor", bool "auto")
このフィルタは、RGB32 のクリップに対して、行列コンボリューション*1を実行します。
clip | RGB32 クリップ |
bias (デフォルト: 0) | 全体的な出力の強さを調節するための付加的なバイアス |
matrix (デフォルト: "0 0 0 0 1 0 0 0 0") | -256 から 256 までの 9 個ないし 25 個の整数からなる 3x3 または 5x5 の行列 |
divisor (デフォルト: 1.0) | コンボリューションの出力をこの値で割る(bias を追加する前に計算される) |
auto (デフォルト: true) | 自動スケーリング機能を有効にする。自動スケーリングは、結果を行列の成分の合計で割る。divisor の値は、この自動スケーリングの倍率に追加で適用される。成分の合計が 0 なら、auto は無効になる。 |
divisor は、通常、行列の成分の合計です。しかし、合計が 0 のとき、ピクセル値を訂正するために、divisor と bias の設定を使用することができます。コンボリューションの結果、ピクセル値が負になる場合、bias が役に立ちます。bias を追加したあと、ピクセルは 0(もし 255 より大きいなら 255)でクリッピングされます。
縁の周辺では、行列に情報を提供するために、エッジのピクセルが単に反復されます。
いくつかの使用例:
# ぼかし: GeneralConvolution(0, " 10 10 10 10 10 10 10 10 10 10 10 10 16 10 10 10 10 10 10 10 10 10 10 10 10 ", 256, False)
# 水平方向のエッジ検出(ゾーベル法): GeneralConvolution(128, " 1 2 1 0 0 0 -1 -2 -1 ", 8)
# 垂直方向のエッジ検出(ゾーベル法): GeneralConvolution(128, " 1 0 -1 2 0 -2 1 0 -1 ", 8)
# 置換(単に「1」の位置を # 左、右、上、下へ移動させる) GeneralConvolution(0," 0 1 0 0 0 0 0 0 0 ")
# 0.5 ピクセル上と置換(訳者註: 結果的にクリップは下へ移動)(自動スケーリング): GeneralConvolution(0," 0 1 0 0 1 0 0 0 0 ")
# 0.5 ピクセル右と置換(訳者註: 結果的にクリップは左へ移動)(手動スケーリング): GeneralConvolution(0," 0 0 0 0 128 128 0 0 0 ", 256, False)
# シャープフィルタ: GeneralConvolution(0," 0 -1 0 -1 5 -1 0 -1 0 ", 1, True) この場合、新しいピクセル値 y(m,n) は、以下の計算式によって与えられる y(m,n) = (-1*x(m-1,n) - 1*x(m,n-1) + 5*x(m,n) - 1*x(m,n+1) - 1*x(m+1,n))/(-1-1+5-1-1)/1.0 + 0
# 黒のレベルのクリッピングと 25% の明るさ増を伴う、軽いぼかしフィルタ: GeneralConvolution(-16," 0 12 0 12 256 12 0 12 0 ", 0.75 ,True) この場合、新しい画素の値 y(m,n) は、以下の計算式によって与えられる y(m,n) = ( 12*x(m-1,n) + 12*x(m,n-1) + 256*x(m,n) + 12*x(m,n+1) + 12*x(m+1,n) )/(12+12+256+12+12)/0.75 - 16
その他のいくつかの例が、こちらにあります。
更新履歴:
v2 | 初版 |
v2.55 | divisor と auto を追加 |
註: このページは、AviSynth 2.5.8 RC3 に同梱されている英語版ヘルプの日本語訳です。原文は、AviSynth をインストールしたフォルダ内の Docs/english/corefilters/convolution.htm にあります。なお、このページのテキストおよび画像のライセンスは、オリジナルのそれに準じます。詳しくは、AboutLicense を参照してください。
最終更新日時: 2014-03-11 (火) 03:48:04 (3927d)