2014-01-01から1年間の記事一覧
Windowsで動画のストリーミング配信をするプログラムを自前で用意するのは、結構大変だ、という話をちょっと前にしました。 1.生の連番画像をOSCや自前のプロトコルを使って送信する方法、 2.HTTP経由でMotionJPGを配信する方法、 3.ffserverやGStream…
WEB上のテキストや多種多様なファイルを受け取ることが出来ると、便利ですね。openFrameworksの標準機能で実現できます。 ofHttpResponse intrinsics = ofLoadURL("http://10.254.20.46:7890/intrinsics.yml"); cout << intrinsics.data << endl; 画像配信サ…
OpenFrameworksとても便利なんですけれど、画像処理をするときはOpenCVネイティブに書きたいことがよくあるため、わざわざofImageやofPixelsやofBufferなどを使いたいとは思いません。ofHTTPのofIPVideoServerも画像の受け渡しが基本的にOpenFrameworks用の…
画像配信のノウハウは奥が深くて、理屈は分かっても自分で実装するのはなかなか大変です。Linuxで動画のストリーミング配信を行うのは、ffmpegのffserverなどを使えばいいのでとっても簡単です。しかし、Windows上でストリーミング配信をするアプリケーショ…
(編集中) twitterで@ginrou799さんの開発されたiPhoneで奥行き推定するプログラム[1][2]、という、とても興味深い記事が紹介されていました。今日の現実逃避活動は、これのお勉強にしてみます。 iPhoneで、とありますが、コア部分はc++で開発されているそ…
[1]によると、 RICOH THETAが、携帯アプリ経由の操作でのインターバル撮影に対応したそうです。すぐに本家ビューアで連番画像に対応してくれると思いますが、テンポラリに需要があるかもしれませんので、連番再生に対応したビューアの実行ファイルを置いてお…
OpenCV3.0にSIFTやSURF以上の性能であると評判の高いデスクリプターのAKAZE/KAZE[2][3][4][5]が採用されるそうです。これをopenframeworksのaddonのofxCv経由で動かしてみたいと思います。 opencv3.0alphaのwindows版プリビルド版[1](ダウンロードリンクは[…
写真はまだイメージ図です。 こんなの[1]をつかんでます。 お絵かきロボット 我々のグループの研究、お絵かきロボットドットちゃんを紹介します。 Painting Robot - Manipulation of Paintbrush by Force and Visual Feedback - YouTube 研究概要を簡単に説…
*1 はじめて論文を書く修士学生向け. 全ての科学論文は,下のような流れで構成されている. この構成を守っている文献を,論文と呼ぶ. この流れから大きく外れる構成の文献は,論文ではない. 研究者が論文を大量に読むことができるのは、 すべての論文が…
ばらかもんを見ていたら習字をしたくなったので、昔携わったアプリの紹介。 フォントロイド | Fontroid - Free Social Font 面白いですよ。
lanczos4で2倍に拡大し、PerspectiveTransformで上から見ているような絵に書き直した石敷き画像の石を一つ一つ領域分けしたいと思います。手作業で領域を切り分けてもいいのですが、面倒くさいので画像処理の助けを借りて、初期解ぐらいは半自動で得られる…
openCVのresizeのlanczos4とHexeReinさんの実装[1]との違いを比較してみましょう。(どっちが良い悪いではなく、ね) 関数のインターフェースをcv::Matに書き換えます。 // https://gist.github.com/f3f22fc29953d573cc12.git 左から、 入力画像src cv::resi…
記事の粒度が安定しませんが、メモ代わり。 斜めに撮影された被写体を、真正面から見据えたい場合の画像処理。 左側が入力画像と、選択領域。右側が出力画像と、見据えた方向の領域。 左画像で4点選び、右画像で4点選ぶ。 warp_matrix = cv::getPerspectiveT…
遠隔地に画像をネットワーク配信するときに、遅延を少なくフレームレートを上げたい場合、とりあえず画像サイズを小さくして送っておいて、受信側で高解像度化できたらいいな、ということがあります。ざっと画像拡大縮小アルゴリズムを調べてみましょう。 一…
お仕事のネタではありませんが、PDFビューアを自作したり、PDFを開いて画像処理してPDFに書き戻すプログラムを書きたいことがあります。とくに、ScanSnapを使って漫画を自炊した時に、埃やノリのせいで縦線が入ってしまったのを修正したい時に・・・。openFr…
(メモ) 回転行列とは、座標軸のそれぞれの方向を表す単位ベクトル、そのものである。 x y z : 成分 ------------ 1 0 0 : x軸の方向ベクトル 0 1 0 : y軸の方向ベクトル 0 0 1 : z軸の方向ベクトル の座標系をどのような方向に回転させたいか、を表し…
(編集中) プロジェクトジェネレータでプロジェクト生成。 ソリューションエクスプローラから、libsの下をすべて消す。 プロパティのインクルードパスで、../../addons/ofxLearn/libsと../../adoons/ofxLearn/src/を登録する。 exampleから、main.cpp, ofApp.…
機械学習が花盛りです。数多くの機械学習ライブラリが世に出ていますが、c++インターフェースでWindowsで動く物が、あまり多くないように見えます。更にMSVCで使えるもの、が見つかりません。MSVCで動かすことを妥協して探すと、ShogunというライブラリがCyg…
(編集中) ofxCvを導入しておく。 testApp.cppをちょっと編集。 if(on_distortion){ leap.getRectifiedImages(); cv::Mat left, right; left = ofxCv::toCv(leap.distortion[0]); right = ofxCv::toCv(leap.distortion[1]); stereo(left,right); } ステレオ用…
(メモ) LeapMotionの生画像取得APIがv2.1~公開されたそうなので、テストしてみます。 Dev向けSDKのV2.1のincludeとlibをofxLeapMotionの既存の物と置き換える。 PIなどの定数定義で引っかかるので、#ifndef~#endifで囲む。 ofxLeapMotion.h //Raw Images voi…
(編集中) 研究に使えそうな、小型ヒューマノイドロボット関連の情報を適当にまとめます。 マニアックに性能がいいけど、面倒くさい、みたいのは、初心者の学生には扱えないので回避。おすすめ情報があったら、なんでも、ぜひ教えてください。 ヒューマノイ…
ロボットの上位の動作計画は、しばしば状態遷移図を用いて管理されます。状態遷移の実装は、単に条件分岐を並べてプログラムを書くだけでも構わないので難しく考える必要はないのですが、整理整頓が苦手な人が規模の大きなプログラムを書こうとすると、あっ…
[1] cv::Mat使用時の画素へのアクセス方法 - minus9d's diary [2] OpenCVからLabeling.hを使ってラベリング - Tech-Sketch [3] 構造解析と形状ディスクリプタ — opencv 2.2 documentation [4] 画像処理ソリューション
便利そうなのは分かったけど、じゃあ自分のプログラムからデータを追加したい時にはどうすればいいのさ、ということで、調べていきましょう。 Curves 先ず、たくさん用意されているTrack Typesの中から使いたい型を検討します。LeapMotionで得られる手や指の…
まだofxTimelineの便利さが良くわかりません。全部入りのデモを試してみましょう。ofxTimelineの下のexample-allTracksです。 Quicktimeのインストール ビデオ再生にQuicktimeが使われていますので、下記リンクからダウンロードしてインストールします。 htt…
obviousjimさんが開発された、時系列データをGUIで編集するための素晴らしいツールがあるということなので、試してみます。いつものようにopenframeworksのaddonで、名前はofxTimeline[1]です。開発環境は、Windows7 64bit, VS2012, openframeworks0.8です。…
おもちゃを動かすシリーズが続いています。埃をかぶったままのOculusRiftが山積みのまま何台もあって勿体ないので、動かして見ます。例によって、Windows7, VisualStudio2012の環境で、openFrameworksを使って先人のaddonを利用して動かします。 1.OculusR…
もし自分が書いた論文に、意図せずとも他の文献と同じ言い回しが使われていたら嫌な思いをすることになってしまいます。そんな事態を避けるために、論文提出前に自分で原稿チェックしておきましょう。いくつかのツールが公開されています。 [1]デスクトップ…
LeapMotionがv2になって,指の関節まで推定できるようになり、とても良くなっているそうです。いつものようにwindows7のopenFrameworksで動かしてみましょう。 1.LeapMotionのセットアップ まずは、普通にLeapMotionのドライバーと開発者向けSDKをインストー…
Choreonoidを使ってhpi GR-001に振付けた作例を紹介します。 GR-001によるラジオ体操(座位バージョン) - YouTube by kawaguchi-kun[1] (人間がマニュアルで)ラジオ体操第一の座位バージョンの動画を見ながら、階層的な動作記述に置き換えて、(人間がマ…