UnityでOpenCVまとめ

Unityで画像処理と言うと、まだあまり需要がなさそうですが、Oculus Riftの流れ的にも、これからニーズが増えそうですなあ。 さて、弊社でもUnityでOpenCVを利用したくなったわけですが、現在パーフェクトな環境はまだなさそうです。 そこそこ調べたので、まとめておきます。

OpenCVSharp

かなーり苦労されている様子がわかりますが、Unity Editor上で使っている人は下記にいるようです↓

https://warapuri.com/post/70283352060/unity%E3%81%A7opencv%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86%E4%B8%BB%E3%81%ABmac%E5%AF%BE%E5%BF%9C

調べた感じ、iOS, androidで試してる人は見つからなかった。。。スマホ向けに利用するためには、プラグインの作成と、おそらくラッパーのソースもいじらないといけないでしょうな。無料なのは素晴らしいですが、ライセンスがLGPLなので、ソースをいじるとなると商用利用は少し大変でしょう。

Emgu CV

http://www.emgu.com/wiki/index.php/Main_Page

ライセンスがGPLなので、商用利用したければ基本は有償版が必要になるでしょう。 これはスマホ向けもあります。それもそれで別途有償で値段もそこそこする。。。

Unityへの組み込みは開発側がサポートしているわけではなさそうです。 Windowsへの組み込みで、ずいぶん苦労されているみたいです。Macも大変かもしれません。 ちなみにスマホ向けライブラリは、お金を払ってからでないと触れません。

OpenCV for Unity

Unity Asset Store - The Best Assets for Game Making

スマホ対応がばっちりできているので、今のところはっきりこれが一番だと思うわけですが、これはこれで難点があります。 まず、Unity Editorで利用することができません。つまりUnityからスマホに落とさないと動作を確認できない。これははっきり痛い。

また、CVAUX等一部APIが使えないようです。ラッピングの充実度という点では、先に上げた二つに劣ると思います。 CVAUXを使いたい時はどうしましょう。。。ちなみに先日私はこのアセットからCVAUXが利用できる夢を見ました。 下記APIが利用できます。

http://docs.opencv.org/java/

組み込みは割と楽チンです。

自作プラグイン

1関数利用したいだけ等、ごくごく限定された使い方をするのであれば、いっそのこと一からプラグインを作った方がコスパがいいのかもしれませんな。 トライしている人はたくさんいますので、これらを参考にされてはと思います。(あまりやりたくはありませんが。。。)

GitHub - thorikawa/unity-opencv-android: Unity+OpenCV+Android

それでは以上。