プログラム
Hololensが楽しそうなのでアプリ作れないか試行錯誤しています。かたりぃなです。 開発者向けの販売とはいえ購入には踏ん切りがつかないので、何かつくれるようになったら購入したいと思っています。 というわけでWindowsストアアプリ向けに画像処理のアプリ…
今度はandroidに手を出してみてます。かたりぃなです。 ずいぶんと前にいじってみたときはeclipseでコード書いて色々遊んでた気がします。今どうなってるのかと調べてみると、eclipse用のandroid開発アドオンのサポート終わったらしく、 今後はAndroidStudio…
魔法陣をつくりたいというこのプロジェクト。 まずはレーザーカッターを使って、魔法陣を作るところから。 以前つくった魔法陣コースターの大型版。 レーザーカッターの仕様 今回もこちらの工房をお借りしました。 http://makers-base.com/ このレーザーカッ…
コスプレで魔法詠唱中には魔法陣を出したいプロジェクト。 テープLEDを使った電飾は実現可能だということがわかったので、制御モジュールも自作しようということで作り始めました。 魔法陣モジュールの全体図 前回のブログエントリで、テープLEDを使ったライ…
以前書いたエントリのboost::asioの続き的なもの。 boost::streambufというものをを使うと、バッファの細かいことを意識せずにread/writeをできるので便利そうだと感じた。 ただ、コレって内部実装によって性能に大きな影響が出るんじゃないかな?という疑問…
ひとまず条件付きでできたので、アップロード。 mmdviewリポジトリのparticleブランチ コミットNo: 94b7ed9a81ab6d54c8f721a71db4b89ca6bf47b0 javoren/mmdview · GitHub 中心から放射状に広がるパーティクル 見ていて飽きない。特に背景真っ黒だから、加算…
コスプレで魔法詠唱中の演出で、オーブを光らせるにあたって色をどうしようかと考えた。 赤色オーブだから基本的に赤か無色になってしまうのだが、どのくらいの差があるのか試してみる。 実験のたびにLEDと抵抗を付け替えていては手間がかかるので、フルカラ…
前回はフォトインタラプタの入力をreadでポーリングして、フォトインタラプタの隙間にものがあるかどうかを調べた。 今回はポーリングではなく割り込みで処理することにした。 プログラムはさらに簡単に。 回路図も大幅な変更は無いので、メモ書き程度にとど…
ARDUINOでコスプレ用小物を作ろうの巻き。 必要になりそうなパーツを一通り買いだしてきたので、設計前にパーツの特性を調べていくことにしました。 まずはモータの回転角度を検出するのに使おうと考えているフォトインタラプタの実験。 使うパーツはCNZ1023…
前回の記事でDCモータ制御したけども、速度制御とか回転方向とかもっと細かく制御したいので、ステッピングモータを試してみることにした。 試しに使ったのはSPG20-332。 4相ユニポーラ方式。 というわけで回路図。 回路図の説明。 左端のコネクタがArduino…
Arduinoでコスプレアイテムの電飾を制御しよう第2段 オーブ内部でLEDを動かすには、ステッピングモータかDCモータあたりでやってみようと。 クランク機構は週末などの時間とれたときに作るとして、とりあえずDCモータが動くことの確認。 逆起電流の処置やっ…
クロマキーとは 3Dになる以前のゲームなんかでよく使われていた、抜け色転送の機能を使ってみた。映像用語ではクロマキーとかなんとか。 たとえば、お天気キャスターが青色のスクリーン前で演技して天気図を重ね合わせるアレですね。 コード Mat src; if( …
直前のエントリでそもそもgccのバージョンが残念だったわけだけども。 そもそも古いバージョンでも、古いサンプルコードなら通るのか?と思って実験。 http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples/cpp03_examples.html Makefileの内…
さて、boostでサーバ書くのがすっごくスマートだという噂があるので適当なサンプルを動かしてみたい。 とりあえずboostのインストール。 $sudo yum boost-devel boost-devel x86_64 1.41.0-18.el6 base 5.3 M こいつが入ってくれればOK。 さて、動かしてみ…
前回のエントリまでで、カードの輪郭抽出までできたので、今回はその輪郭をもとにカードの傾きを求めることにする。 カードの傾きを求めることができれば、そのカードの上にARでモデルを表示するとき、カードの姿勢に追従することができる。 カードの傾きと…
Opencvで輪郭抽出、実験としてJavaでやっていたけど、今回はC++でやってみることにした。やっぱり慣れてる言語っていいね。 2014/06/04追記:コード部分の体裁を修正 char* filename = argc == 2 ? argv[1] : (char*)"ajani.jpg"; if( (src = imread(filenam…
OpenCVで画像同士を重ね合わせるとき、アルファブレンディングができたら演出の幅が広がりそうということで試してみた。 まずは実験ということで、文字を記述した画像を作っておいて、これを本来の画像にオーバーレイ表示する手法を取ることにした。 とりあ…
OpenCVで画像をリサイズする方法メモ。 画像全体をリサイズ resize(src, dst, cv::Rect(320, 240), dst_size, 0, 0, INTER_LINEAR);imwrite("scale.jpg", dst); とりあえずこれで320x240にリサイズできる。ただ、アスペクト比が維持されない。(たとえば512x5…
長い間ほったらかしにしていたWindowsストア向けのアプリ開発勉強再開しました。環境: C++ VisualStudio2012forWindows8まずは基礎から。と思ってhello world!やってみたけど、XAML編集するだけで終わったので次のステップに。 1, 目標 画像を表示したい。 C…
R言語での統計解析。 仕事でもよくExcelとか使うけど、やってる作業ってだんだんとルーチンワークになってくるので、似たような処理はRでサクっとやっちゃいたい。 ログの解析とデバッグとか。 というわけで、色々と試行錯誤してみて、自分的によさげだなと…
AndroidでMMD動かしたい、Windowsでも動かしたい。 マルチプラットフォーム開発ということでUnityとやらに手を出してみました。 やりたいことは相変わらずです。 ・カメラからの入力を受け取って・OpenCVで画像を認識して・MMDのモデルとモーションを重ねて…
背景 Rは統計解析に特化した便利な言語。今回はこいつを使って、あるプログラムの性能測定ログの集計を自動でやることにした。 目的 いままで手動で性能測定したり、ログ集計したりと手作業が含まれていたが、自動実行できたら幸せかな?という思いからいろ…
久しぶりの更新。今日はデバッグネタ。OpenCVでデバッグするとき、画面に描画してしまったほうが結果が手早く確認できて便利なことが多い。というわけでメモ。こんだけ。Core.putText(img, DbgStr, new Point(32, 32), Core.FONT_HERSHEY_SIMPLEX, 0.6f, fon…
GitHubのアカウントとってみた。しかし簡単にコミットしていいものかどうか判断に迷うことがある。ライセンスとかの問題が特に。適当なコード落としてきて実験している最中なんかだと、ごりごりコードいじってリビジョン管理していきたいんだけど、githubに…
OpenCvでごにょごにょやろうとしていたら、色々とハマってしまったので、備忘録をかねたメモ。とは言いつつも、何やってるコードなのか思い出せない部分も多くて困ったちゃん。 前回のエントリで書いた輪郭抽出のアルゴリズムをコードにおとしていくとこんな…
ここのところ仕事の引継ぎやらなにやらで色々と忙しい。気分転換したいのにOpenCVの数式やら関数やら勉強してると滅入ってしまう。そこで、手軽に遊びつつアイデアを膨らませようとNyARToolKitで遊んでみた。NyARToolKitとNyMmdForAndroidでマーカー型ARの実…
画像処理の基本として背景除去に手を出してみる。まだ初歩なので実運用には程遠いものだと思う。 1、フレーム差分を求める フレーム差分を求める。これは動きのあった箇所が抽出されることになる。ただ、カメラではどうしても手ぶれがあるので、実行してみ…
DirectX11では昔(DirectX 8の時代)のやり方が通用しなかったのでメモ。行列の管理のあたり。 1、モデルごとに行列を設定する方法 まずは結論のコードから。VisualStudio Express12が吐き出したDirectXのスケルトンコードに対して変更を加えるならば、次のと…
DirectX11でのアルファブレンディングをやってみた。 いろいろ悩んだけども、まずは動かしてみる前提で。将来的にはZバッファ無効化せずに実装したいところ。 まずZバッファを無効化する。VisualStudioがデフォルトで吐き出したコードでは、しっかりとZバッ…
前回OpenCVのインストールまで完了したので、Android端末がOpenCVの処理に耐えられるか、重すぎないかなどをみるために、サンプルプログラムを動かしてみる。あまりに重すぎたり、ターゲットデバイスが対応していないなどの問題がないかを見ていく。 【環境…