depthjsを使いkinect経由でchromeを動かすメモ
depthjsという物出たので入れてみる事にする。
git clone git://github.com/doug/depthjs.git
BACKEND: Kinect ====(libfreekinect)====> OpenFramework+OpenCV =====(0MQ)====> Tornado
FRONTEND: Torando <====(WebSocket)==== DepthJS extension ====(Javascript+DOM events)====> Any web page
となっているみたいなの必要なツールをまず入れる。
opencv2.1インストール
参考URL
http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.1/
http://d.hatena.ne.jp/pirosikick/20100116/1263660823
OpenFrameworksも必要なので落とす
git clone git://github.com/openframeworks/openFrameworks.git
ZeroMQというツールも必要なのでインストール
http://www.zeromq.org/local--files/area:download/zeromq-2.0.10.tar.gz
python用のpyzmqインストール
https://github.com/ellisonbg/pyzmq
zeromqのも有るがこれは上手く動かなかった
https://github.com/zeromq/pyzmq
Xcode設定
参考URL
http://d.hatena.ne.jp/afeq/20101022/1287708595
http://www11.atwiki.jp/projectwiki/pages/24.html
http://bucato.jp/weblog/?p=29
http://openframeworks.jp/forum/topic.php?id=7
depthjsの中に有る実行ファイルをソースファイルに追加する
- bg_fg_blobs.cpp
- bg_fg_blobs.h
- ocv_freenect.cpp
- ocv_freenect.h
- zhelpers.hpp
xcodeのビルドと実行をクリックする
pyzmqサーバの実行
depthjsのbackendフォルダ配下に有るbackend.pyを実行
chrome extensionインストール
chromeを起動
拡張機能⇒パッケージ化されていない拡張機能を読み込みますをクリック
depthjsフォルダ配下に有るchrome-extensionを選択
chromeツールバー横にdというマークが表示されるのでクリックする
Connect to Kinectと出るのでクリック
下にDepthonse Mode,Panner Mode,Selector Modeのどれかを選択する
chromeにポインタが出てkinect経由で動く!
pythonのバージョンは2.6で行った
osはsnow leopard
kinectをmacで動かすメモ
参考URL
http://openkinect.org/wiki/Getting_Started#OS_X
http://d.hatena.ne.jp/gongoZ/20101123/1290511095
http://blog.0093.tv/
Homebrewでinstallしてglviewを行っても上手く動かなかったのでマニュアルインストールにした
rails plugin insatall
rspecをインストールした
gem install rspec
gem install rspec-rails
railsアプリケーションのGemfileに下記を記述
group :development, :test do
gem "rspec-rails", ">= 2.1.0"
end
bundle install
Using rspec-core (2.1.0)
Using rspec-expectations (2.1.0)
Using rspec-mocks (2.1.0)
Using rspec (2.1.0)
Using rspec-rails (2.1.0)
./script/rails g rspec:install
create .rspec
create spec
create spec/spec_helper.rb
create autotest
create autotest/discover.rb
初心者がruby覚えるまで掛かった日数は大体2ヶ月と元初心者に聞いた
ubuntu10.10にrubyとrvmとrails3を入れた
参考URL
http://d.hatena.ne.jp/hrsth/20100425/1272202894
http://web7s.com/blog/175
http://d.hatena.ne.jp/f_world21/20101004/1286206031
rvm install 1.9.2のコマンドを入れた時に
no acceptable C compiler found in $PATHで怒られたので
sudo apt-get install build-essentialでおk
gemコマンドを使おうと思ったらエラーで怒られた。
gem list
ERROR: Loading command: list (LoadError)
no such file to load -- zlib
ERROR: While executing gem ... (NameError)
uninitialized constant Gem::Commands::ListCommand
zlibインストール
sudo apt-get install zlib1g-dev
cd ~/.rvm/src/ruby-1.9.2-p0/ext/zlib
$ ruby extconf.rb
$ make
$ make install
mkdir test
rails new testと入力したらエラー
Could not find gem 'sqlite3-ruby (>= 0, runtime)' in any of the gem sources listed in your Gemfile.
sudo apt-get install libsqlite3-dev
gem install sqlite3-ruby
ERROR: Could not find a valid gem 'sqlite3-ruby' (>= 0) in any repository
見つからないと言われたので直接ダウンロード
http://rubygems.org/downloads/sqlite3-ruby-1.3.2.gem
gem install ./sqlite3-ruby-1.3.2.gem
rails server
=> Booting WEBrick
=> Rails 3.0.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
起動した
effective java今更読みはじめた
2章の内容
コンストラクタの代わりにstaticファクトリーメソッドを検討する
- staticファクトリーメソッドの1つ目の長所は、コンストラクタと異なり、名前を持つ事です。
- staticファクトリーメソッドの2つ目の長所は、コンストラクタと異なり、メソッドが呼びされるごとに新たなオブジェクトを生成する必要が無い。
- staticファクトリーメソッドの3つ目の長所は、コンストラクタと異なり、メソッドの戻り値型の任意のサブタイプのオブジェクトでも返す事が出来る
- staticファクトリーメソッドの4つ目の長所は、パラメータ化された型のインスタンス生成の面倒さを低減する事。
- staticファクトリーメソッドの主な短所は、publicあるいはprotectedのコンストラクタを持たないクラスのサブクラスを作れない。
- staticファクトリーメソッドの2つ目の短所は、それらが容易に他のstaticメソッドと区別がつかない。