taishoh のすべての投稿

【メモ】RasberryPi Zeroにnode.jsを入れる

全然更新してないね、このブログ…

というわけでRasberryPi Zeroにnode入れてみました。
調べるとよく出てくるnvmを使う方法はRasberryPi Zeroでビルドするっぽい

スペックが低いRasberryPi Zeroでは正直このビルド1日かけても終わらない

なのでnodebrewを使ってnodejsをビルドなしにバイナリで入れるのが正解っぽい。(nvmでもバイナリインストールできるかもですが正直調べてもない。)

※参考:Raspberry Pi Zero WでNode.js+SQLite3を動かしてみた
https://qiita.com/s-suefusa/items/6f4b1df1781c82999816

nvmで一日かけても終わらなかったインストール作業が5分かからずに終わった。(学びが深い)

ofxCvのdrawMatの挙動

openFrameworksでよくofxCvさんにお世話になってます。

Matを直でoFの画面に描画したい時にofxCv::drawMat()を使うんですが地味に引っかかったのでメモ

普通にカラーやグレイスケールのイメージの情報をもたせたMatをdrawMatで描画するのは大丈夫。

ただし、ROIを設定したMatをdrawMatで描画しようとするとおかしな描画になるという問題が…

 

Mat src;//何か画像を入れておく

cv::Mat roi = src(cv::Rect(10,10,100,100));
//cv::drawMat(roi, 0,0); //うまく表示されない…

cv::Mat roitmp;
roi.copyTo(roitmp);

cv::drawMat(roitmp, 0,0);

とりあえずMatをcopyTo()したり、clone()してたりするとうまくいくみたいでした。

UnityでOpenCVのネイティブプラグインを利用してみる

凹みTipsさん(http://tips.hecomi.com/entry/2014/01/16/011727)がOpenCVを使って書いたネイティブプラグインをUnityから使っていたので僕も真似してみることにしてみました。
(基本的には凹みTipsさんと同じなので差分のところだけ)

参考程度ですが、私の開発環境はMacでUnityは4.3を利用しています。

1.OpenCVをビルドする。
MacでOpenCVを利用する場合、homebrew等でインストールするのが楽で良いです。
でも、Unityのネイティブプラグインを使う場合32bitで作らねばならず、homebrewでは32bitビルドしてもうまくいかないため、CMakeを利用してOpenCVのソースからビルドする必要があります。

CMAKE_OSX_ARCHITECTURESにi386;x86_64と値を設定してやれば32bitでも使えるようになります。
また、BUILD_SHARED_LIBSのチェックも外して、スタティックライブラリとしてビルドされるようにしました。
(凹みTipsさんはdylibでやってたのですが何故かうまく行かなかった…)

2.Bundleを作る
WindowsではDLLですが、MacではBundleを作ります。
Xcodeで新しいプロジェクトを作る時にBundleを設定すればいけると思います。

凹みTipsさんからソースをそのまま利用させてもらいました。

3.Unityに読み込む
ここは特に引っかかることなく成功。

1.のあたりで結構引っかかってうまく行かなかったのですが、じっくり差分のところを文字に起こしてみると意外とシンプルな感じになりました。