Featured Image とか言いながら、ただ写真を置くだけなのも何だなあとか思い、Primitiveを使用して、上に表示されている画像を変換してみた。Primitive は画像を幾何学的な Primitive(線とか丸、三角、四角)の集まりに変換してくれる。試行錯誤した結果を貼り付けていく。画像の下に変換するときに使用したオプションを添付してある。
オリジナル画像
オリジナル画像はこちら

変換例


-n 1000 -m 6
-n が 1000 だとだいぶ抽象化が上がる感じ。個人的には好きなバランスで収まっている。


-bg はstarting background color (hex)
で背景色になる。背景を指定していない場合と比べ、背景全体的に線が描かれてだいぶごちゃっとした感じになる。

線の数が少ない状態で背景色を選ぶと、背景の描画に表現力がなくなり、もはや何だかわからない感じになる。



-n 2000 の画像




Primitive 所感
背景がシンプルな画像の方がわりと綺麗にいくように感じた。建物とか細かい描写があると写実さと抽象さみたいなところのバランスが悪い感じになる。サンプルを見ると背景にグラデーションがあるのも良さそうに見える。
写真の対象が鋭角なものは triangle にするなど、対象の形にあった mode を使うと綺麗にいきやすい気はする(一方でそれをあえて外してみると良い時もありそうなので何とも言い難いけど)。
多くの場合、オリジナルの写真の方がやっぱり良いなと感じた。写実性を残しすぎるとオリジナルの方が勝り、抽象度を上げすぎると何の写真だかさっぱりわからんという点でなかなか調整が難しい。
Primitive を使用した画像のサンプルは@PrimitivePicがたくさんアップロードしているので、参考になるかもしれない。
Primitive のインストール
Primitive は Go で動作するアプリケーションなので、Go がなければまず Go をインストールする必要がある。自分はHomeBrewでインストールした。
brew update
brew install go
その後、Primitive をインストール
go get -u github.com/fogleman/primitive
インストール先のパスが通ってなかったので.bash_profile に PATH を追加
export PATH=$PATH:/Users/USERNAME/go/bin
実行時間の計測
下記のように行った。
start_time=`date +%s` && \
primitive -i rommanas-kongmeng-422586.jpg -r 256 -o rommanas-kongmeng-422586-beziers13.jpg -n 50 -m 6 -rep 40 -s 1500 && \
end_time=`date +%s` && \
time=$((end_time - start_time)) && \
echo $time
以上。