スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

透過性ロゴフィルタmod

ロゴ番号ごとにdepthの値を個別に指定できるオプションを追加

[Avisynth]delogomod0006
スポンサーサイト

透過性ロゴフィルタmod

ロゴのループ機能の追加

[Aviutl]delogomod0006
[Avisynth]delogomod0005

動くロゴのサンプルを集める時のメモ その1

tsのままサンプルを集めるのは容量的に大変なので、動くロゴの出る部分だけをトリム&クロップして集めましょう。

avsplogo.jpg



avisynth用のロゴ(YV12)を集める場合は、以下のbatファイルにavsを投げれば
ファイル名を指定するだけで中間ファイルを保存できます。

@echo off
SET pipe="avs2pipemod.exe"
SET dir="サンプルを集めるフォルダパス"
SET in="%~1"
SET ext=".y4m"
SET op=-y4mt
set /p num="番号を指定してください>"
%pipe% %op% %in% > "%dir%%num%%ext%"




ファイル名を数字にしておけば、まとめて読み出す時に便利です。
y4mfiles.jpg



#集めたサンプルから任意のフレーム番号を抜き出して繋げるスクリプト
#各サンプルはロゴの開始位置が全て同じである必要がある
function Loady4ms(int frame_num,int sample_count,int num,int "start",clip "c2")
{
start =default(start,1)
c2 = default(c2,blankClip())
folder="サンプルを集めたフォルダパス"
ext=".y4m"
path =folder + string(start) + ext

load=RawSource(path).trim(frame_num,-num)
c2 =(start==1)?load:c2++load
start=start+1
return (start>sample_count)?c2:Loady4ms(frame_num,sample_count,num,start,c2)
}




上記のスクリプトを使ったavsをAviutlに渡して解析します。

frame=100 #抜き出すフレーム番号
sample=412 #集めたサンプルの総数
num=1 #各サンプルのフレーム数

Loady4ms(frame,sample,num)

#左や上をcropしてサンプルを集めている場合はここでAddBordersで元の位置に戻す。
AddBorders(100, 0, 0, 0)

YV12toYUY2(itype=0,interlaced=true,cplace=0)


サンプル数が数百では少ないように思うかもしれませんが、ほぼ全フレームがシーンチェンジ(^^;)なので
300くらいあればそこそこ綺麗にロゴデータが作れます。
赤いアレの場合、一番組につき2~3回流れていて、毎日3、4本放映されているので
1ヶ月分くらい集めれば最低限必要なサンプル数が集まると思います。



Aviutl用のサンプルを集める場合はtsソースをm2v.aui等で直接読み込み、AviutlのAvi出力で保存します。
集めたサンプルから任意のフレームを抜き出すスクリプトはy4m版とほぼ同じです。

function LoadAvis(int frame_num,int sample_count,int num,int "start",clip "c2")
{
start =default(start,1)
c2 = default(c2,blankClip())
folder="サンプルを集めたフォルダパス"
ext=".avi"
path =folder + string(start) + ext

load=AVISource(path).trim(frame_num,-num)
c2 =(start==1)?load:c2++load
start=start+1
return (start>sample_count)?c2:LoadAvis(frame_num,sample_count,num,start,c2)
}




★その他メモ
・ 同じサンプルのフレームを単純に水増ししてサンプル数を増やすのは逆効果なのでやらない方がいいです。
・ Overlayでブレンドすればサンプル数を水増しできますが、これもオリジナルのサンプル数が十分に揃ったら
 使わない方がよさげです。

動くロゴのための透過性ロゴフィルタ

ldpファイル内にあるロゴデータを上から順番に1フレームずつ使用し、
残りのフレームには最後のロゴデータを使用します。

delogomod.auf
delogomod.dll (avisynth版)



【使い方】

(1)delogo.aufと同じフォルダに「logodata.ldp」というファイルがあるはずなのでコピーして複製を作ります。

logom1.jpg


(2)コピーしたファイルをとりあえずここでは「animeplus_aviutl.ldp」とでもリネームしておきます。

logom2.jpg


(3)Aviutl.exeと同じフォルダにあるAviutl.iniを開き、[透過性ロゴ]の項目を探してlogofileのパスを
 先ほど作成したファイルに書き換えます。

logom3.jpg


(4)Aviutlを起動後、透過性ロゴのオプションを開き全てのロゴデータを削除します。
logom4.jpg

(5)ロゴ解析フィルタで動くロゴを1フレームずつ解析していきます。
 ロゴを解析後、「送信」を押すとldpファイルにロゴデータが追加されていきます。
logos.jpg


(6)ロゴファイルが完成したら再びAviutl.iniを開き、[透過性ロゴ]のlogofileを元のファイルパスに戻します。
 代わって[透過性ロゴmod]の下に
 logofile0=動くロゴファイルのパス
 を追加します。

logom5.jpg


(7)Aviutl起動後、透過性ロゴmodのコンボボックスから登録したldpファイル名を選択します。
logom6.jpg


透過性ロゴフィルタとか

透過性ロゴフィルタ
delogo.auf
ロゴ解析フィルタ
logoscan.auf

どちらも主に広い面積のロゴを扱う際の不具合の修正。
一応、Makki氏のオリジナル版は消さずに別の場所に保管しておいて下さい。
プロフィール

Author:putin
ロゴ関係ソース

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
メールフォーム

名前:
メール:
件名:
本文:

リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。