2015/11/02(月) [n年前の日記]
#1 [cg_tools] 複数の画像ファイルに一括でアンチエイリアスをかけたいのだけど
2値化した線画に色を塗って、それぞれにアンチエイリアスだかスムージングだかをかけたい。
結論から先に書くと、 _Jagi を使わせていただきましょう。
そのままだと、1フレーム1画像になってるので…例えば24fps上の動画で、3コマ打ちにしたいなら、Layer x 上の動画ファイルをダブルクリックして、再生速度を 33.3 とかにしてみたり。
結論から先に書くと、 _Jagi を使わせていただきましょう。
◎ 試行錯誤のメモ。 :
CLIP STUDIO PAINT にはスムージングと言うフィルタがあるので、それを複数の画像に対してかけることができればいいのだけど。複数画像に対して一括で処理をする「バッチ処理」機能は無い。せめて、全レイヤー or 選択したレイヤーに対して一気にかける、といった処理ができればありがたいのだけど、そんな機能も無い。
ベクター線で描けばそもそもアンチエイリアスがかかってくれるのでは、と思ったけどベクターレイヤーでは色が塗れないわけで。セル1枚分を用意するのに、それぞれフォルダを作ってレイヤーを複数入れていくのも面倒そうだし。
Photoshop Elements には「複数ファイルをバッチ処理」という機能があるので、ソレを使って、例えば OLM Smoother をかけることができれば、と思ったものの。やはり決まった処理 ―― たとえば自動コントラスト調整とかjpeg保存とか、Adobe側が事前に用意しておいた処理しかできないようで。まあ、一般的なユーザさんならそれで十分だよな。
ImageMagick でスムージングだかアンチエイリアスだかをかけることができれば、と思ったものの。ググってみてもそれらしい処理はできないようで。線を引いたり円を描いたりする際にアンチエイリアスをかけるかけないは選べるようだけど、ビットマップ画像にアンチエイリアスを、というのは見当たらない。ただ、 _ビットマップ画像の透明部分と不透明部分の境界をぼやかす処理 だけならできるらしい。惜しい。
_AviUtlのスムージングフィルタ を利用できないかと思ったものの。 _拡張編集プラグインで連番画像を一括読み込み まではできたのだけど、スムージングがかけられるのは、拡張編集プラグイン上の素材ではなく、AviUtl本体側の結果、のようで。そこにかけられてしまうと透明度情報が消滅するので RGBAの動画 or 連番画像として出力できない。ならばと、背景と合成した状態でスムージングをかけてみると、当然ながらセル相当部分だけではなく、背景部分にまでスムージングがかかってしまって、結果がちょっとぼやけてしまう。それとは別に、どうも手元の AviUtl 上でフレームを進めたり戻したりしてるうちに画面にゴミが出るようで。PCのメモリが壊れてるのかな…。
VirtualDub には smoother というフィルタがあるらしい。VirtualDubMod で試してみたり。うむ。まったく期待と違う結果画像に。コレジャナイ。
GIMP のアンチエイリアスフィルタを使うのはどうか、GIMPなら全レイヤーに特定フィルタをかけるスクリプトも書けるし。と思ったけれど。試してみたら、どうやら GIMP のアンチエイリアスフィルタは透明部分と不透明部分の境界にはフィルタがかかってくれないようで。そこもアンチエイリアスかけてくれないと、背景と合成する時に困るのだけどな。
_Jagi というジャギ消しツールがあるらしい。複数ファイルに対して一括で処理できるし、pngの読み込み・書き出しにも対応してる。試してみたり。…おお。バッチリな結果。のような気がします。
ベクター線で描けばそもそもアンチエイリアスがかかってくれるのでは、と思ったけどベクターレイヤーでは色が塗れないわけで。セル1枚分を用意するのに、それぞれフォルダを作ってレイヤーを複数入れていくのも面倒そうだし。
Photoshop Elements には「複数ファイルをバッチ処理」という機能があるので、ソレを使って、例えば OLM Smoother をかけることができれば、と思ったものの。やはり決まった処理 ―― たとえば自動コントラスト調整とかjpeg保存とか、Adobe側が事前に用意しておいた処理しかできないようで。まあ、一般的なユーザさんならそれで十分だよな。
ImageMagick でスムージングだかアンチエイリアスだかをかけることができれば、と思ったものの。ググってみてもそれらしい処理はできないようで。線を引いたり円を描いたりする際にアンチエイリアスをかけるかけないは選べるようだけど、ビットマップ画像にアンチエイリアスを、というのは見当たらない。ただ、 _ビットマップ画像の透明部分と不透明部分の境界をぼやかす処理 だけならできるらしい。惜しい。
_AviUtlのスムージングフィルタ を利用できないかと思ったものの。 _拡張編集プラグインで連番画像を一括読み込み まではできたのだけど、スムージングがかけられるのは、拡張編集プラグイン上の素材ではなく、AviUtl本体側の結果、のようで。そこにかけられてしまうと透明度情報が消滅するので RGBAの動画 or 連番画像として出力できない。ならばと、背景と合成した状態でスムージングをかけてみると、当然ながらセル相当部分だけではなく、背景部分にまでスムージングがかかってしまって、結果がちょっとぼやけてしまう。それとは別に、どうも手元の AviUtl 上でフレームを進めたり戻したりしてるうちに画面にゴミが出るようで。PCのメモリが壊れてるのかな…。
VirtualDub には smoother というフィルタがあるらしい。VirtualDubMod で試してみたり。うむ。まったく期待と違う結果画像に。コレジャナイ。
GIMP のアンチエイリアスフィルタを使うのはどうか、GIMPなら全レイヤーに特定フィルタをかけるスクリプトも書けるし。と思ったけれど。試してみたら、どうやら GIMP のアンチエイリアスフィルタは透明部分と不透明部分の境界にはフィルタがかかってくれないようで。そこもアンチエイリアスかけてくれないと、背景と合成する時に困るのだけどな。
_Jagi というジャギ消しツールがあるらしい。複数ファイルに対して一括で処理できるし、pngの読み込み・書き出しにも対応してる。試してみたり。…おお。バッチリな結果。のような気がします。
◎ AviUtl拡張編集プラグインで連番画像を一括読み込みの手順をメモ。 :
- AviUtlを起動。
- 設定 → 拡張編集の設定、を選ぶ。拡張編集ウインドウが開く。
- 拡張編集ウインドウ上で右クリック → 新規プロジェクトの作成、を選択。画像サイズとフレームレートその他を指定。
- Layer x 上で右クリック → メディアオブジェクトの追加 → 動画ファイル、を選択。
- 動画ファイルプロパティウインドウ?が開くので、「アルファチャンネルを読み込む」にチェックを入れて「参照ファイル」をクリック。
- 連番画像の最初のファイルを指定して開く。
そのままだと、1フレーム1画像になってるので…例えば24fps上の動画で、3コマ打ちにしたいなら、Layer x 上の動画ファイルをダブルクリックして、再生速度を 33.3 とかにしてみたり。
◎ 2015/12/05追記。 :
AviUtl上で画面にゴミが出るのは勘違いだった。ガイド表示をゴミと勘違いしてた…。
[ ツッコむ ]
以上です。