AviSynthのぺーじ/クロップ
これは、かつて「にーやんのAviSynthのぺーじ」として公開されていたものを転載したものです。内容は古く、間違いも含まれている可能性があります。より正確で新しい情報を知りたい場合は、AviSynth 付属のヘルプや AviSynth 公式サイトを参考にすることをおすすめします。AviSynth Wiki の AviSynth入門なども活用してください。
Cropフィルタ †
画面端の黒い縁やビデオテープをキャプチャした際に見られる画面下端のノイズなどをカット(クロップ)したい場合には、AviSynth内蔵のCropフィルタを使用します*1。
テンプレートでは30行目にCropフィルタの設定行を設けてあります。
###### 7.その他のフィルタ ##### #//--- クロップ ---// #Crop(8, 0, 704, 480)
Cropフィルタには、次の2種類の記述の仕方があります。
#1 Crop(左, 上, クロップ後の幅, クロップ後の高さ) #2 Crop(左, 上, -右, -下)
#1と#2、どちらの方法で記述してもかまいませんが、#2の方法はAviSynth2.0.1以降でなければ使用できません。
#1の方法 †
Crop(左, 上, クロップ後の幅, クロップ後の高さ)
AviSynthのバージョンに関係なく使用できる指定方法です。
左、上、クロップ後の幅、クロップ後の高さの4つを整数で指定します。
上の画像のピンク色の部分がクロップする(切り取る)範囲と考えてください。
左と上は画像端からのクロップするピクセル数です。
クロップ後の幅は赤の矢印の範囲、クロップ後の高さは青の矢印の範囲になります。
クロップ後の幅 = 元の画像の幅 - (左 + 右)
クロップ後の幅は、このように元の画像の幅から、左端と右端のクロップするピクセル数の合計を引いて求めることができます。
同様に、クロップ後の高さは、元の画像の高さから、上端と下端のクロップするピクセル数の合計を引いて求めることができます。
クロップ後の高さ = 元の画像の高さ - (上 + 下)
例えば、720x480のビデオクリップを左右8ずつクロップし、上下クロップなしの場合は次のようになります。
Crop(8, 0, 704, 480)
「左右8ずつ」クロップするので、左と右のクロップ幅の合計は「8 + 8 = 16」です。
これを元の画像の幅の720から引いて、クロップ後の幅は704になります。
上下はクロップしないので、クロップ後の高さは元の画像と同じ480です。
#2の方法 †
Crop(左, 上, -右, -下)
#2の方法は、四辺のクロップ幅をそれぞれ指定する方法です。
左と上の指定の仕方は#1の方法と同じですが、クロップ後の幅とクロップ後の高さの代わりに、負(マイナス)の符号つきで右と下のクロップ幅を指定します。
この方法は、AviSynth2.0.1以降でなければ使用できません。
単純に上下左右のクロップするピクセル数を指定すればOKです。
ただし、指定する順番を間違えないことと、右と下は負(マイナス)の符号をつけなければならないということに注意してください。
例えば、720x480のビデオクリップを左右8ずつクロップし、上下クロップなしの場合は次のようになります。
Crop(8, 0, -8, 0)
最後の0はマイナスの符号をつけてもつけなくてもかまいません。
左から3つ目と4つ目のパラメータが、0よりも大きい値(0を含まない)ならば#1の指定方法、0以下の値(0を含む)ならば#2の指定方法であると判断されます。
Crop(0, 0, 0, 0)
つまり、すべて0を指定すると、クロップなしになり、元の画像と同じ大きさのままになります。
alignパラメータ(2.5.3以降) †
AviSynth2.5.3からalignパラメータが追加されました。
alignパラメータはメモリ上に不連続に配置されたデータを、連続したものに再配置しなおすもので、これにより処理速度が向上する可能性があるとされています。
#1の方法の場合はクロップ後の高さの後ろに、#2の方法の場合は-下の後ろにそれぞれ付け加えることが可能です(省略することもできます)。
#1 Crop(左, 上, クロップ後の幅, クロップ後の高さ, align) #2 Crop(左, 上, -右, -下, align)
alignパラメータを有効にする場合はtrue、無効にする場合はfalseと記述します。
デフォルトはfalseで、省略した場合もfalseが適用されます。
最終更新日 2004年1月21日