これは、かつて「AviSynthのぺーじ」として公開されていたものの "残骸" です。ここに記されている内容には、間違いが含まれている可能性があります。より正確で新しい情報を知りたい場合は、AviSynth 付属のドキュメントや AviSynth 公式サイトを参考にすることをおすすめします。私(にーやん)が管理人をつとめる AviSynth Wiki も利用してください。また、このページは、予告なしに削除される可能性もあります。
Cropフィルタ
 画面端の黒い縁やビデオテープをキャプチャした際に見られる画面下端のノイズなどをカット(クロップ)したい場合には、AviSynth内蔵のCropフィルタを使用します(※)。

 テンプレートでは30行目にCropフィルタの設定行を設けてあります。
###### 7.その他のフィルタ #####
#//--- クロップ ---//
#Crop(8, 0, 704, 480)
 Cropフィルタには、次の2種類の記述の仕方があります。
#1
Crop(, , クロップ後の幅, クロップ後の高さ)

#2
Crop(, , -右, -下)

 #1#2、どちらの方法で記述してもかまいませんが、#2の方法はAviSynth2.0.1以降でなければ使用できません。

※画面下端のノイズをカットしたいだけなら、CropBottomでも可能です。「CropBottom(クロップするライン数)」というように記述します。

#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日
前のページ | 次のページ