2009-01-01から1年間の記事一覧
~/tmp/opencv-1.0.0/apps/haartraining/src/opencv-createsamples -info pos.txt -vec hand-front15142_30.vec -w 30 -h 30 -num 15142 ~/2nd/tmp/opencv-1.0.0/apps/haartraining/src/opencv-haartraining -data haarcascade_rightfront-hand4 -vec hand-fr…
imgflip.rb #!/usr/bin/env ruby # -*- coding: utf-8 -*- # 画像を回転させて上書きする require 'rubygems' require 'fileutils' require 'RMagick' include Magick if ARGV.size < 3 puts 'pathと保存先と反転の向きが必要です' puts ' e.g. ruby imgflip…
WavFile.rbでは今まで全chunksを配列で取り出していたが、よく考えたらformat chunkとdata chunk以外は捨てても構わない情報なので chunk配列からdata chunkだけを取り出す関数を追加した。 readDataChunk.rb http://shokai.org/projects/ruby-wavfile/index…
前にObject#method(:関数名).callで高階関数を使ったが Proc.newかprocかlambdaでblockを受けて無名関数を作って配列に入れておくと、簡単なEventDispatcherとして使える class Dispatcher attr_accessor :onNext, :now def initialize @now = 0 @onNext = A…
音の合成は、波なので足すだけでいい。ただし16bitを越えてしまうので2で割るなりして音量を下げる必要がある。 base.wavを元として、sound.wavを1、3.3、8秒目に置いてresult.wavとして書き出す例。 ruby compositeWav.rb base.wav sound.wav 1 3.3 8 resul…
改行区切りテキストで吐き出してExcelでグラフにすると見れる ruby dumpWav.rb sound.wav dump.txt pbcopy < dump.txtmacはpbcopyでファイルをクリップボードに読み込める dumpWav.rb http://shokai.org/projects/ruby-wavfile/index.cgi/file/0971a11a4fd6/…
wavファイルをrubyでいじって、左チャンネルだけ消して右だけ聞こえるようにする。右を消して左だけにしたファイルも書き出す。 http://d.hatena.ne.jp/shokai/20091102/1257189122 のWavFile.rbを使う。 splitChannelWav.rb #!/usr/bin/env ruby # -*- codi…
dataチャンクから配列として波形を取り出せるか試してみた。Rubyはunpackで取り出してpackでバイナリに戻せる(しかもけっこう高速に)のでこれを使っていこうかな。 nameがdataのchunkのデータ部分が波形データなので、wav formatを見て16bitか8bitか確かめて…
前の記事に書いたWavFile.rbは、dataチャンクを増やした時にファイルフォーマットや各チャンクのsize値も更新するようになっているので、こんな風に複数wavを接続するのも簡単にできる。 ただしformat chunkが同じwavファイル同士のみ。formatが違うとデータ…
前:wavファイルのフォーマットを読み込む - 橋本詳解 wavのDSPをやる準備が整った。 wavヘッダをメモリに読み込んでrubyの変数として扱って、バイナリに書き戻せるようになった。dataチャンクの中の波形をいじれば音を変えれる。 まずは波形ではなくwavヘッ…
followボタンを押しても一瞬増えるけどリロードすると0に戻るので ruby -rubygems -e 'require "twitter";tw=Twitter::Base.new(Twitter::HTTPAuth.new("your-username","password"));while tw.friendship_create("penguinana") do puts "try following: "+T…
http://d.hatena.ne.jp/shokai/20091028/1256680676 でファイルヘッダを読み込んだので、続けてフォーマットチャンク部分を読み込んだ。 この本、Cで書かれてるけどわかりやすいから参考にした。 readHeader.rb #!/usr/bin/env ruby # -*- coding: utf-8 -*-…
参考 http://moonrock.jp/~don/d/200202.html#d07_t1 readHeader.rb #!/usr/bin/env ruby if ARGV.size < 1 puts 'ruby readHeader.rb input.wav' exit 1 end File.open(ARGV.first){|file| file.binmode puts riff = file.read(4) puts data_size = file.re…
参考:ウインドウのサイズを制御する - [Mac OSの使い方]All About 1920x1200の画面のmacbook proを1920x1080のモニタに接続すると、普通のアプリは全部ウィンドウサイズが自動的にリサイズされるが、iTunesだけはなぜか画面からはみ出たままになる。 しか…
http://blue0318.blogspot.com/2009/04/ruby.html >> "あああ".size => 9 こうなってしまうので split(//u)して配列にするといいらしい >> "あああ".split(//u).size => 3 >> "あああa".split(//u).size => 4 >> "あああaあ".split(//u).size => 5
http://d.hatena.ne.jp/shokai/20091020/1256064111 から進化させた。 整形された引数のヘルプの表示 実行前に引数が足りているかチェックするためのメソッド を追加。 こんな感じで使える test.rb #!/usr/bin/env ruby require 'ArgsParser' parser = ArgsP…
ファイルから読み込み http://d.hatena.ne.jp/shokai/20090418/1240087782 書き出し #!/usr/bin/env ruby require 'rubygems' require 'yaml' hash = Hash.new hash["x"] = 180 hash["y"] = 120 hash["name"] = "testtest" puts hash.to_yaml arr = Array.ne…
optparseの使い方を覚えきれない http://www.ruby-lang.org/ja/man/html/optparse_A5C1A5E5A1BCA5C8A5EAA5A2A5EB.htmlというか引数と処理を結びつけないで、ただスイッチが入っているか・値が渡されているかを読みとりたいだけなので作った 今気づいたがcool…
gemのjsonでシリアライズもparseもできる #!/usr/bin/env ruby require 'rubygems' require 'json' hash = Hash.new hash["x"] = 180 hash["y"] = 120 hash["name"] = "testtest" puts hash.to_json # => {"name":"testtest","x":180,"y":120} arr = Array.n…
別のマシンをsambaでマウントしたい sudo apt-get install smbfssudo mkdir /mnt/smb sudo mkdir /mnt/smb/oldfs sudo mount -t cifs -o username=shokai,password=shokaipass,codepage=cp932,iocharset=utf8,defaults //192.168.0.2/homedir /mnt/smb/oldfs…
DBファイルを手に入れておく wget http://ftp.twaren.net/Unix/NonGNU/hddtemp/hddtemp.db sudo cp hddtemp.db /etc/wget http://ftp.twaren.net/Unix/NonGNU/hddtemp/hddtemp-0.3-beta15.tar.bz2 tar -zxvf hddtemp-0.3-beta15.tar.bz2 cd hddtemp-0.3-beta…
90度回転させる ruby imgrotate.rb ~/tmp/picture/*.png ~/tmp/result/ 90imgrotate.rb #!/usr/bin/env ruby require 'rubygems' require 'RMagick' include Magick if ARGV.size < 3 puts 'pathと保存先と角度が必要です' puts ' e.g. ruby imgrotate.rb ~/…
正規表現 http://freepg.fc2web.com/cpp/topic_boost_regex_001.html regex_match.cpp #include <iostream> #include <boost/regex.hpp> #include <string> using namespace std; using namespace boost; int main(int argc, char* argv[]){ string str = "asdftesthogehoge"; regex reg(".*t.st</string></boost/regex.hpp></iostream>…
fDisabled = GC.enable GC.start GC.disable if fDisabledより fDisabled = GC.enable GC.start GC.disable if fDisabled これを呼ばないと参照が切れたMagick::Imageオブジェクトが解放されなくてどんどんメモリが減っていく。アプリが終了すれば解放される…
知らなかった。今までこれが出たらマシンがおかしくなったんだと思って再起動してたけど、TerminalからscreenごしにCvCreateCameraCapture()すると出てしまうものらしい 参考 : http://robotics.naist.jp/member/old_members/2008/ato-a/wikisource/OpenCV O…
OpenCV2.0のhighgui/window_carbon.cppのmakeが通らないのであきらめたSnow Leopardのディスク入れてalt押しながら再起動、[ユーティリティ]→[復元]でTimeCapsuleからleopardに復元中。
参考 http://hjmr.blog.so-net.ne.jp/2009-09-29 http://d.hatena.ne.jp/jitsu102/20090920/1253457537 sudo port install giflib libungifcvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacshttp://lists.gnu.org/archive/html/em…
必要なもの入れておく sudp aot-get install gawk sudo apt-get install libjasper-dev libjasper1 libjasper-runtime sudo apt-get install libopenexr2ldblOpenCV2.0のビルド mkdir ~/tmp cd ~/tmp wget http://nchc.dl.sourceforge.net/project/opencvlib…
sudo apt-get install zshchsh/usr/bin/zsh を設定 sudo apt-get install python-setuptools python-dev sudo easy_install -U mercurial which hghg cloneで.zshrc, .screenrcなどをコピーした sudo gem install rails sudo apt-get install libxml2-dev li…
ふたたびSnow Leopardにアップデートすることにした。OpenCV1.0でカメラが動かなかったのでTimeCapsule使ってLeopardに戻してたが、 OpenCV2.0ならSnowLeopardでもカメラが使えるらしいというのと、DebianでOpenCV2.0で1.0用のプログラムがコンパイル/実行で…