サンプルスクリプト/クリップの向きを変える

今日の献立

今回は、画像の向きを、左に 90 度、右に 90 度、そして 180 度の 3 通りのパターンで回転させてみましょう。

材料

  • TurnLeft(AviSynth 内蔵フィルタ)
  • TurnRight(AviSynth 内蔵フィルタ)
  • Turn180(AviSynth 内蔵フィルタ)
  • AviSource(AviSynth 内蔵フィルタ)
    • 他のビデオ入力フィルタでもよい。

作り方

  1. ビデオクリップを左(反時計回り)に 90 度回転させるには、TurnLeft フィルタを使います。
    AviSource("C:\path\example.avi")
    TurnLeft()
    
    l.png
  2. 右(時計回り)に 90 度回転させるには、TurnRight フィルタを・・・
    AviSource("C:\path\example.avi")
    TurnRight()
    
    r.png
  3. そして、180 度回転させるには、Turn180 フィルタを使います。
    AviSource("C:\path\example.avi")
    Turn180()
    
    0.png

ひとくちメモ: Turn180を使わずに180度回転させる方法

Turn180 フィルタは、AviSynth 2.5.5 から追加されたフィルタです。これよりも前のバージョンで(あるいは、Turn180 を使わずに)、クリップを 180 度回転させるには、次の 2 通りの方法が考えられます。

  1. TurnLeft(または、TurnRight)を 2 回連鎖させる。
    AviSource("C:\path\example.avi")
    TurnLeft().TurnLeft() # TurnRight().TurnRight() でもよい
    
  2. FlipVerticalFlipHorizontal フィルタを連鎖させる。
    AviSource("C:\path\example.avi")
    FlipVertical().FlipHorizontal() # FlipHorizontal().FlipVertical() でもよい
    

FlipVertical はクリップの天地を(ちょうど裏返しにしたような状態で)反転させ、FlipHorizontal はクリップの左右を反転させるフィルタです。

ひとくちメモ: TurnLeft/TurnRight/Turn180 使用時の注意

  • ビデオクリップがインターレースの場合、あらかじめインターレース解除を済ませておきましょう。
  • ビデオクリップの色空間が YUY2 の場合、あらかじめ Convert フィルタを使って RGB32 に変換しておいたほうがいいでしょう(色差情報の 50% が失われるのを防ぐため)*1

関連レシピ

  • ありません。

*1 YUY2 では、水平方向の 2 ピクセルごとに色差情報を共有しています。これをそのまま 90 度回転させると、色差情報が失われてしまうことにつながります。

最終更新日時: 2014-03-11 (火) 03:51:07 (3692d)