片フィールドロゴ除去

トップ(ボトム)フィールドにのみロゴが表示されるフレームがあることがあります。そのロゴを消すためには、トップ(ボトム)フィールドにのみEraseLogoフィルタを適応する必要があります。それを簡単にやってくれる関数を紹介します

 

更新履歴

2020/11/16 動作が軽いスクリプトに変更し忘れてたので反映

 

導入

上記のコードをavsファイルの最後にコピペするか、別ファイルに保存してインポートすると使えるようになります

 

avsの最後に記述

return lastの後にコピペしてください

このようにreturn last後に記述すると、このavs内で使えるようになります

 

別ファイルに保存してインポート

コピペしたものを”delogo.avsi”として保存したものとします

1行目でインポートしています。このようにインポートすると使えるようになります

 

使い方

EraseLogo()の代わりにDelogo()を使います

fhfをtrueにすると、startのフレームの片方のフィールドにのみEraseLogoを適用します。bhfをtrueにすると、endのフレームの片方のフィールドにのみEraseLogoを適用します

この例だと[0, 40039, 82415]の4フレームは片方のフィールドにのみEraseLogoが適用されます

 

マクロを使う

前の記事の透過性ロゴ除去で紹介したマクロを使ってDelogo関数を挿入することができます

マクロを開いて、DELOGO = 0 を DELOGO = 1に書き換えて保存してください。すると、マクロ実行時にEraseLogo()ではなくDelogo()が挿入されるようになります

 

AvsPmodに関数を登録

この作業は特に必須でもないのですが、登録をするとAvsPmodのユーザースライダーにDelogo関数を出現させることができるようになります。手順を紹介します

オプション → AviSynth関数の定義 とすすみます

ユーザー定義関数タブに開き、新規追加をクリックします

 

引数に以下を入力します

登録すると、自動補完ができるようになり、ユーザースライダーにも表れるようになります

コメント

タイトルとURLをコピーしました