2013/07/12(金) [n年前の日記]
#1 [cg_tools] 写真をアニメの背景っぽくできないか実験
_写真を絵のように見せる写真加工技術「PhotoDramatica」トップ - あやえも研究所
を参考にしながら Photoshop Elements で実験してたのだけど。数が多いと大変だなと。ImageMagick を使って、自動でまとめて処理できないかなと。
ImageMagick で -segment を使ってどうにかできないかと思ったけれど、結果も全然違うし、異様に時間がかかる時があるし。なかなか難しい。
一応batファイルは書いてみたけど…。カレントフォルダ中の src*.jpg、src*.png 等を次々に変換するbatファイル。
以下のような結果が得られた。元画像、結果画像、の順。
手描きに見えるかというと、なんとも微妙。
ちなみに、Photoshop Elements で処理すると、以下のような感じに。 ImageMagick の結果画像よりも、かなりソレっぽい気がする。やはり、カットアウトフィルタ相当の処理ができないあたりが厳しいのではと。
元画像は、 _PAKUTASO さんのソレを使わせてもらいました。ありがたや。
- HDR画像を作るのは早々に諦める。
- 「ぼかし(表面)」は、メディアンフィルタで代用できそうな気がする。
ImageMagick で -segment を使ってどうにかできないかと思ったけれど、結果も全然違うし、異様に時間がかかる時があるし。なかなか難しい。
一応batファイルは書いてみたけど…。カレントフォルダ中の src*.jpg、src*.png 等を次々に変換するbatファイル。
@echo off
@rem ImageMagick を使って写真を手描きイラスト風に変換できるかどうかのテスト
@rem カレントフォルダ中の src??.* ファイルに対して処理を行う。
setlocal enabledelayedexpansion
for %%i in (src*.*) do (
set SRC=%%i
set OUTFN=result_%%~ni
echo ----------------------------------------
echo !SRC! に対して処理をします
echo リサイズします
convert -resize 800x !SRC! !OUTFN!_tmp1.png
echo コントラスト調整・彩度調整・色相をずらします
@rem convert tmp1.png -auto-level tmp2_0.png
convert -contrast -contrast -contrast -modulate 100,130,105 !OUTFN!_tmp1.png !OUTFN!_tmp3.png
echo cutoutっぽいフィルタをかけます
@rem convert -resize 1024x !OUTFN!_tmp3.png !OUTFN!_tmp_s_3.png
@rem convert -segment 2x3 !OUTFN!_tmp_s_3.png !OUTFN!_tmp_s_4.png
@rem convert -resize 1920x !OUTFN!_tmp_s_4.png !OUTFN!_tmp4.png
convert -segment 1x3 !OUTFN!_tmp3.png !OUTFN!_tmp4.png
echo 合成用マスク画像を生成します
convert !OUTFN!_tmp4.png -fill "#9a9a9a" -draw "color 0,0 reset" !OUTFN!_tmpg60.png
convert !OUTFN!_tmp4.png -fill "#c0c0c0" -draw "color 0,0 reset" !OUTFN!_tmpg75.png
echo 合成します
convert !OUTFN!_tmp3.png !OUTFN!_tmp4.png !OUTFN!_tmpg60.png -composite !OUTFN!_tmp4_1.png
echo medianフィルタをかけます
convert -median 3 !OUTFN!_tmp4_1.png !OUTFN!_tmp5.png
echo 合成します
convert !OUTFN!_tmp4_1.png !OUTFN!_tmp5.png !OUTFN!_tmpg75.png -composite !OUTFN!_tmp6.png
@rem @echo 輪郭を抽出して合成します
@rem convert +dither -colorspace Gray -colors 2 -edge 1 -negate -antialias !OUTFN!_tmp6.png !OUTFN!_tmp7.png
@rem convert !OUTFN!_tmp6.png !OUTFN!_tmp7.png -compose multiply -composite !OUTFN!_tmp8.png
del !OUTFN!_tmpg*.png
echo !SRC! に対する処理は終了しました
)
endlocal
echo 終了しました
せめてフルHDサイズで処理をしたかったのだけど、-segment の処理が返ってこないわ、medianフィルタの結果が今一つだわで。仕方なく 800x* で処理をしたり。以下のような結果が得られた。元画像、結果画像、の順。
手描きに見えるかというと、なんとも微妙。
ちなみに、Photoshop Elements で処理すると、以下のような感じに。 ImageMagick の結果画像よりも、かなりソレっぽい気がする。やはり、カットアウトフィルタ相当の処理ができないあたりが厳しいのではと。
元画像は、 _PAKUTASO さんのソレを使わせてもらいました。ありがたや。
◎ GIMPでもカットアウトフィルタが使えないものか。 :
_Cutout filter for gimp 2.6.6? - Gimptalk - Premier Gimp Community
_GIMP : scripts for photo effects(web.archive)
_Photo effects | GIMP Plugin Registry
昔はカットアウトフィルタっぽいことができるスクリプトがあったらしい…。が、GIMP 2.4時代のスクリプトらしくて。
諦めきれずに検索していたら、GIMP2.6、GIMP2.8 用に修正されたスクリプトがあるらしいと知り。
_scripts that work in gimp 2.6
_scripts that work in gimp 2.8
ありがたや。しかし、早速導入してみたものの、減色処理を肝として使っているせいか、全然違う結果になるような…。
Photoshopのカットアウトフィルタって、ベクターデータというかポリゴン単位で境界を作ってるっぽいのだけど。どういう処理をしているんだろう…。
_GIMP : scripts for photo effects(web.archive)
_Photo effects | GIMP Plugin Registry
昔はカットアウトフィルタっぽいことができるスクリプトがあったらしい…。が、GIMP 2.4時代のスクリプトらしくて。
諦めきれずに検索していたら、GIMP2.6、GIMP2.8 用に修正されたスクリプトがあるらしいと知り。
_scripts that work in gimp 2.6
_scripts that work in gimp 2.8
ありがたや。しかし、早速導入してみたものの、減色処理を肝として使っているせいか、全然違う結果になるような…。
Photoshopのカットアウトフィルタって、ベクターデータというかポリゴン単位で境界を作ってるっぽいのだけど。どういう処理をしているんだろう…。
この記事へのツッコミ
[ ツッコミを読む(1) | ツッコむ ]
以上です。










試しにぼかし(輪郭線の単純化)→ポスタリゼーション(諧調)で再現しようと思ってやってみたら全然それっぽくなくて涙目です
輪郭線もそうですが色調を損なわない色選びもよくできてますよね(範囲内のピクセルの平均取ってなんてやってたらもっとずっと重いはずですし)