Subtilizerこぼれ話
こないだリリースした、Subtilizer for iOS(無料)のこぼれ話的なやつです。
ちょろっと、こないの記事でも書いたのですが、
アプリのタイトルに使われている「Subtle」が、いわゆる「微妙」って意味で、
色や細部を間引いて「微妙な画像」を生成したいっていうのがスタートでした。
アプリを作る時は、基本タイトルありきで、
それから実装を考えるみたいなところがあって、これについてはいつも通りです。
Xcodeでプロジェクトファイルを作成する際に、
タイトルが決まってないと面倒なので仕方ないですね。
元々、カオスCGを描くスクリプトを書いていた時のコードに、
もう使わないんだけど消すにはもったいなーって思ってたコードがあって、
それを採用した結果、意図した効果が得られたので、
それをあーでもない、こーでもないして、最適化して、おおよそ完成させました。
単にポスタライゼーションの効果を得るだけだったら、
他のアプリでも達成できそうなもんですが、
一般的に、ポスタライゼーションが適用される場合は細部は除去されるべきなので、
平滑処理とは異なる手法で実現しました。
ただ、ちょっと実行速度に不満があったので、
「詳解 OpenCV」って本に何かヒントがないか読んでいたところ、
さらに高速化できそうってことで高速化して、
ついでにエッジを追加して完成させました。
エッジを付加する機能については、ありきたりなポスタライゼーションに対して、
何か味付けをしたいという意図で追加しました。
それ以外の、たとえばシェア機能については、
WEB+DB PRESS Vol.104に載っているを見ながら実装した次第です。
ついでに書いておくと、CIFilter
は使ってないです。
アプリを作るのは、過去に学んだ技術を忘れないための
ボケ防止的な意味合いが強いで、得意な方法で処理しました。
(もちろん、一方でCIFilter
を使いこなすのも必要なのかもですが・・・。)
まだちょっと実行速度について不満があって、
OpenMPくらいカジュアルに並列もしくは、並行処理ができたら良かったのですが、
Chaoticみたいに有料じゃないですし、今後の課題を残してのリリースとなりました(*1)。
そんなこんなで、アプリの説明に反して、
良い感じの画像に変換できるので、ぜひお試し頂ければと思います。
おしまい。
(*1) iPhone7で実行して、そこまで不満はないという意味です
Leave a Comment