最近のスマホはパノラマ撮影が簡単にできます。 iPadやiPhoneはデフォルトのカメラ機能に入ってますし、Androidはアプリで簡単にパノラマが作れます。
しかしも境目も途切れてなく自然なパノラマが撮影できます。(明るさに違和感はあり)
また、以前からVroid使用した3Dアニメの背景にパノラマを使えないかと思ってました。 パノラマをアニメテイストに変換できれば、Vroidと親和性高くできるのではないか?
という仮定を試すため、まずはパノラマをアニメテイストにできないかやってみることにしました。
ドット絵化
以下試してドット絵化してみることにしました。 2000年前のゲームの背景のような怖い不自然な感じになりました。。
Pythonでドット絵を作ろう!|アリカ|Pythonエンジニア
GPTの案(Edge & Filterd)
open cv使用してノイズ除去して、エッジ協調してフィルタかけるというやり方。 エッジたくさんある画像なので黒線が目立つ不自然な画像になりました。
# ノイズの除去 gray = cv2.medianBlur(gray, 5) # エッジの強調 edges = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 9, 9) # マスク作成 edges = cv2.cvtColor(edges, cv2.COLOR_GRAY2BGR) # カラーフィルターの適用 filtered = cv2.bilateralFilter(img, 7, 200, 200) # エッジとフィルタリングした画像の合成 cartoon = cv2.bitwise_and(filtered, edges)
Anime GAN化
AI使用したアニメ化。 以下のcolabファイルで簡単に試せました! もっともアニメ化できていますが、不自然な感は残ります。。
出力
パノラマ動画を取るのにパノラマ画像をずらしながら、png取るプログラムを使って動画作りました。 少し力作でしたが、あとから教えてもらいましたが動画編集ソフトのズームイン・アウト&パン という機能を使えばよいだけのようでした。 便利な機能があるものです。よく考えるとアニメにも同様の手法が使われているので過去どうされていたか調べるべきでしたね。
あとがき
オリジナルファイルにたくさんエッジがあるとうまくアニメ化できないという知見が得られました。
たくさんのエッジをうまく一つのエッジにまとめてくれるようなやり方をしないとアニメテイストにはできないようです。