AviSynth内蔵のリサイズフィルタ
AviSynth内蔵のリサイズフィルタを紹介します。
AviSynthに内蔵されているリサイズフィルタは、BicubicResize、BilinearResize、LanczosResize、PointResizeの4つです(※1)。
フィルタの設定は、次のように行います。
AviSynthに内蔵されているリサイズフィルタは、BicubicResize、BilinearResize、LanczosResize、PointResizeの4つです(※1)。
フィルタの設定は、次のように行います。
BicubicResize(幅, 高さ, "b", "c") BilinearResize(幅, 高さ) LanczosResize(幅, 高さ) PointResize(幅, 高さ) |
基本的には「フィルタ名(リサイズ後の幅, リサイズ後の高さ)」というように指定します。
ただしBicubicResizeフィルタにのみ、オプションでbパラメータとcパラメータが設けられており、この2つのパラメータだけは小数で指定します(省略可能)。
BicubicResizeフィルタでは三次式を使って画像補間が行われますが、bパラメータとcパラメータは、この三次式の調整に使用されます(※2)。
デフォルトは共に1/3で、b = 0、c = 0.75ならば、VirtualDubのprecise bicubicフィルタと同等になります。
ただしBicubicResizeフィルタにのみ、オプションでbパラメータとcパラメータが設けられており、この2つのパラメータだけは小数で指定します(省略可能)。
BicubicResizeフィルタでは三次式を使って画像補間が行われますが、bパラメータとcパラメータは、この三次式の調整に使用されます(※2)。
デフォルトは共に1/3で、b = 0、c = 0.75ならば、VirtualDubのprecise bicubicフィルタと同等になります。
テンプレートでは34行目にサイズ変更の行があります。
|
サンプルではLanczosResizeフィルタになっていますので、他のフィルタを使用したい場合はフィルタの種類も変更してください。
[参考URL:縮小アルゴリズム] まるも製作所の「日々の戯言」で、縮小アルゴリズムについて解説されています。 ・縮小アルゴリズム(1)-(4) ※2000年12月18日から21日まで http://www.marumo.ne.jp/db2000_c.htm#18 ・縮小アルゴリズム(5)-(9) ※2001年7月4日から7月9日まで http://www.marumo.ne.jp/db2001_7.htm#4 |
※1:AviSynth2.5.4現在。LanczosResizeはAviSynth2.0.6から、PointResizeは2.0.7から導入されています。
※2:マニュアルによると、bパラメータとcパラメータは、それぞれ「ぼかし(blur)」と「リンギング(ringing)」に利用されるとあります。
※2:マニュアルによると、bパラメータとcパラメータは、それぞれ「ぼかし(blur)」と「リンギング(ringing)」に利用されるとあります。
拡張書式 - クロップ&リサイズ
AviSynth内蔵のリサイズフィルタには、オプションでクロップ用のパラメータも用意されています。
BicubicResize(幅, 高さ, "b", "c", "左", "上", "クロップ後の幅", "クロップ後の高さ") BilinearResize(幅, 高さ, "左", "上", "クロップ後の幅", "クロップ後の高さ") LanczosResize(幅, 高さ, "左", "上", "クロップ後の幅", "クロップ後の高さ") PointResize(幅, 高さ, "左", "上", "クロップ後の幅", "クロップ後の高さ") |
赤字の部分がクロップ用のパラメータで、Cropフィルタの#1の記述方法と同じ指定の仕方になります。
# 使用例
|
こちらが使用例です。
この指定方法では、リサイズ前にクロップが適用されるため、次のように記述した場合とほぼ一緒になります。
この指定方法では、リサイズ前にクロップが適用されるため、次のように記述した場合とほぼ一緒になります。
|
ただし、リサイズフィルタの内部でクロップする場合は、小数での指定ができる点が大きく異なります(※)。
またYUY2やYV12モードであっても、奇数単位でのクロップが可能になります。
※幅と高さは小数で指定することはできません。小数で指定できるのは、赤字の部分、bパラメータとcパラメータです。
またYUY2やYV12モードであっても、奇数単位でのクロップが可能になります。
※幅と高さは小数で指定することはできません。小数で指定できるのは、赤字の部分、bパラメータとcパラメータです。
前のページ | 次のページ |