ofxFaceTrackerをiOSで使用する方法
openFrameworksが好きで良く触っています。
FITC2013に行った時にoF界隈の有名人の話を聞いて使い始めたフレームワークで触り始めて2年弱位経ってますが、まだまだ初心者の域を超えません。
openFrameworksの中でもofxFaceTrackerは見た目のインパクトの大きさから使ってみている方も多いのではないでしょうか。
Face Substitution on Vimeo
僕もその一人なのですが、iOSに導入しようとした時にMac版とは異なるコードが必要になります。
このアドオンを使ってアプリを作ったのは1年半ほど前ですが、地味に苦しんだので情報共有しておきます。
1. ofxFaceTracker.hをインクルードするときの注意
Mac版ではofxCv.hをインクルードしておけば問題なかったのですが、それだとビルドが通りませんでした。
ofxCv.hのインクルードの前にofxOpenCV.hをインクルードすると無事ビルドが通ります。
2. faceTracker.getImageMesh()で取得したメッシュのtexCoordsについて
iOSだとopenGL ESだからかわからないけれど、取得したメッシュがそのままではうまく動きません。
こんな感じで正規化してあげる必要があります。
ofMesh cameraMesh = cameraFaceTracker.getImageMesh(); /* texCoordを正規化 */ for(int i=0; i< cameraMesh.getTexCoords().size(); i++) { ofVec2f & texCoord = cameraMesh.getTexCoords()[i]; texCoord.x /= ofNextPow2(camera.getWidth()); texCoord.y /= ofNextPow2(camera.getHeight()); }
是非とも同じようにofxFaceTrackerをiOSで使用しようと考えている方の手助けになればと思います。
以前僕が作成したofxFaceTrackerを用いたアプリはこちら。ダウンロードしてみていただければと思います。
pythonによる画像処理 〜導入編〜
サーバーサイドで画像処理をする必要があったので、pythonに手を出してみることにしました。
pythonは日本ではあまり使われていないようですが、アメリカでは教育用に一番使われていたりするとのことです。
僕はC++かObjective-Cをメインで触っているので、pythonが本格的に触る初めてのLL言語です。
少し触った感想としてはすごいわかりやすい言語だということ。ちょっと画像処理をしてみたい時なんか、いちいちビルドしなくても済むので便利な面も多いです。
C++に比べるともちろん処理速度は劣るので、リアルタイム性を求められる場合は向かないかもしれません。
今回はサーバーサイドでバッチ処理的に画像処理をしたかったので、pythonを使うことに決めました。
pythonはインストールされている前提での導入手順は以下のとおり。
参考図書はこちら
- 作者: Jan Erik Solem,相川愛三
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/03/23
- メディア: 大型本
- 購入: 1人 クリック: 22回
- この商品を含むブログ (4件) を見る
この参考図書にpythonのモジュールは1つずつpython setup.py installしながら入れましょうみたいなことが書いてありますが、pipでインストールした方がいいとのこと。
こちらを参照ください。
10分でわかるPythonの開発環境
最低限必要そうなモジュールは以下の3つ。
1. Python Image Library (PIL)
2. NumPy
3. SciPy
あとはこんなコードであっという間に反転処理が書けてしまいます。
from PIL import Image from numpy import * im = array(Image.open("./images/0.jpg")) im2 = 255 - im result = Image.fromarray(im2) result.save("result.jpg")
最近のメディアアート作品は画像処理、画像認識の技術を多く使った作品が多いと感じています。まだカメラやセンサとコンピュータを使ったその空間内だけで収まる作品が多いですが、カメラを使った作品でも今後はインターネットを通じて空間を超えたインタラクティブ作品が増えてくるのではないかなと感じています。
Kyle McDonaldさんの以下の作品などはそんな作品かなと思います。
Sharing Faces on Vimeo
そんな時にサーバーサイドで簡単に画像処理できると便利なのではないかなと思います。
Ars Electronica 2014レポート
Ars Electronica2014に行ってきたのでそのレポートを描きます。
オーストリアのリンツで開催されている、メディアアートの祭典です。
オーストリアには友人が住んでいたこともあり、過去に3回ほど行ったことがあるけれどもリンツに行くのは去年に引き続き2回目。
街の至る所にメディアアート作品が展示されていて、日本でいうアニメの町おこし的な感じがします。
興味深かった展示を5点ほど挙げてみます。
1. Inside Out
プラスチックでできた歯車の機械を壁に投射した作品。影がとてもかっこ良かった。
Jaehyuck Bae, Inside Out - YouTube
2. Balance From Within
ソファを片足だけで立たせてる作品。最初何だこれって思ったけれど、片足だけで立つよう制御されていてとても驚いた。よく見るとバランスをとるように揺れていることがわかる。
3. PARA-SONIC 3.0
地元の中学か高校のような場所も展示会場の一部になっていたけれど、その屋上で展示されていた作品。重低音とプロジェクションがとてもかっこ良かった。大分奥の方に展示されていたため、見に来る人は少なめ?な気がした。
4. 5 robots named Paul
この作品はコンピュータが絵描きになってポートレートを描く作品だった。人間のようにカメラで対象人物を見た後、自分のキャンバスを見るようにカメラが動き絵を描くという動きがとても面白かった。僕が学生の時に所属していた研究室では、コンピュータ画家に関する研究もされていたけど、その延長線だと感じた。
この人の顔はこんな感じ。
この展示がされている場所は実は教会。そこも会場にしちゃう辺りも面白かった。
5. BOX / Bot & Dolly
Ars行く前にTwitter上で話題に上がっていたので、凄いなぁと思っていたけどやっぱり凄かった。
適当に5つほど紹介しましたが、もっと紹介したい作品がたくさんありました。日本人もたくさん来ていて日本のメディアアート業界も人気絶頂だなぁと感じました。
街中ではこんな感じでショッピングモール内に展示もされていて注意深くしていないと見逃してしまう作品も…
夜は広場っぽいところでDJしていたりとなかなか面白いフェスです。是非来年も行きたいところ。