スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

rubyでopenCVをインストールしただけ

とあるものを作りたくて画像類似判定のプログラムを作りたかった.
OpenCVを高校のときに一瞬だけ使ったことがあったのでそれを使用したかった.
なんだかRubyっていろんなことがライブラリのおかげで簡単にかけるから,RubyでOpenCVを使うことにした.

参考にした: ruby-opencvをインストールして顔認識した
Macで作業しているのだが,インストールのときに,"sudo"コマンドを頭につけてやらないと書き込み権限がないのでエラーがでたりする.
あと,sudo brew install opencvのときに、以下のようなエラーがでた.

opencv: Unsatisfied dependency: numpy
Homebrew does not provide Python dependencies; install with:
pip install numpy
エラーをちゃんと読んでみるとopencvが依存するプログラムがインストールされていないらしい.
あーおれちゃんとエラーよんで適応能力あるわーと思いながら,"sudo pip install numpy"でおk.
もう一度sudo brew install opencvとうちこんでやるとおk.

sudo gem install opencvでもエラーが."probably lack of necessary libraries and/or headers."らしいので適当にぐぐってみた.
ここによると 依存するものすべて含めてインストール
> sudo gem install -y パッケージ名
らしいので,-yをつけてsudo gem install -y opencvをやってみるも駄目。

・・・・?ruby-openCVをようやくgemに登録しました  こんな記事がある。。ていうかこの人がruby-opencvを更新してる人らしい。すごい。
とりあえずsudo gem install ruby-opencvで通った.

インストールしてなにもしてません.
スポンサーサイト

jubeatコントローラー制作:1日目(土台,パネル制作/譜面収集プログラム)

jubeatコントローラー,制作はじめました.
記事というかTwitterまとめただけですが.
図面を書いて業者に頼みました.
賢い人は何個かの業者に見積つもり出して一番安いとこにしましょう.ぼったくられましたよ・・40kですよ 40kあればjubeat DAOコントローラー買えるとかいうな氏ね
はざい屋が業界では安いみたいですよ。。
とりあえず届きました


高いだけはある.
じつは図面にミスがあったり.上画面切りました.
2つのアクリルをアクリルサンデー(化学的に溶かすやつ)でつなぎ合わせるのですが、向きを間違えてはりあわせて剥がしたらこうなりました。。

重ねあわせて,jubeat Analyzerのソフトで譜面を再生してみる.

アクリル用のドリルのヘッドを買ってきたので,3mmの穴を空けてみた.意外と苦労した.工作は素人すぎてつらい.やってみてだんだん学習している感じ.


サンドイッチ構造にしてつくる.スペーサを試しに買ってみたから試しにつけてみる.,土台の透明アクリルにつけたネジが画面と干渉するのでなにか策が必要だ.

行き当たりばったりな制作計画だけど,うまくいくのだろうか。。。。とりあえずちゃんとプレイできるものが作れたらうれしいなあ.工作、いきなり難しいことしすぎだって親に笑われた.

まあやらなければ成長しないので,それでいいのですが.

ちなみに,譜面データを収集するプログラムを書いた..

jubeat_auto.png

jubeatの譜面データがおいてあるjubeat_memoから譜面データやBPMを認識してjubeat Analyzer用の譜面データの形式で保存してくれる.
jubeat_auto2.png
RubyのHpricotっていうライブラリのお陰で何も考えずに書けた.

一応コードは使いこなせないGitHubにおいてあるけどダメダメ.

いろいろダメなポイント(Shift-JISで保存できないから後で他のプログラムでエンコードが必要だったり)があるので後日ちゃんと修正して公開し直すかもしれない.

まあ結局オフセット(音楽の開始位置)は手動でためしてセットしないと行けないので手間はあるんですけどね.

適当な記事でしたが、お疲れ様でした~

夏休みと黒い画面

夏休みが始まっていた.
夏休みにすること.

プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~
(2012/01/28)
秋葉拓哉、岩田陽一 他

商品詳細を見る

・競技プログラミングの修行.
・・実は競技プログラミング自体にとてもとても興味がある,というよりは実践的な力がついて将来役に立つだろうというのが修行している理由に近い.もちろんACしたときの快感のためでもある.それなりにやり続ける予定.何度もアルゴリズムに触れて勉強しないとなあ..

・jubeatコントローラーの制作
ita.png
アクリル板を委託した.つくるぜ.

・iOSアプリなんか作る....
Objevtive-Cもキモいしklibっていうのを使うとCでかけるらしいので作ってみたい.AppleのDexeloper登録にもう8000円払った 作りたいしそれっぽい素材は某所で作ってもらったのに作る時間がなくてうーんごめんなさいってかんじ.

いい加減アルゴリズムの勉強で黒い画面にしか向かってないのから解放されたい(かといって別に進捗あるわけでもない

サーバの勉強とかもしたいんだけどなぁ・・
数学がわからなさすぎたから夏休みに復習するとか言ってたきもするが忘れよう

とりあえず昼間も朝も寝てる生活やめないといけない.

友達の留年応援ソングをやっつけで作った.

事の始まりはコレ.

東大生がなんか言ってた.


友人からVOCALOIDのソフトを借りてきた.
midiを読み込ませることができるから,耳コピできなくても,音程一瞬で入れれる.
あとは適当に歌わせて,カラオケVerとタイミング調整.


歌詞の留年の部分が単位になっちゃってて修正しようかどうか迷ってたり。。(めんどくさい)


おつかれさまでした.自分も危険ですが.

WindowsにC,C++の環境を入れたから実行する記事も書いた

このまえ、WindowsにC,C++,Rubyの環境を入れることについて書きました(なんか学科の人によく聞かれたので.)

とりあえず実行する記事がなかったので,書きます.

C言語やC++では,プログラムをコンパイルして、実行可能なファイルをつくり,それからその出力ファイルを実行するという手順でプログラムを実行します.

何らかのテキストエディタでプログラムを書く→コンパイル→実行 といった手順です.

テキストエディタ・・別にプログラム自体はただのテキストデータなのでメモ帳でもいいのですが,メモ帳でプログラムを書いてみると,圧倒的に読みにくい..

そこで高機能なエディタを使おうというわけです.

凄い人が使ってるエディタ・・・emacsとかvim とか.
初心者でも使いやすそうなエディタ・・サクラエディタとかSublime Textとか.

僕はsublimeを使っていますが,近いうちにemacs触れるようになりたいなぁという感じ.

emacsやvimは何が凄いかというと,まずデフォルトでたくさんのコマンドが入っている(単語単位でカーソルを移動したり,行ごとにコピーしたりなど.その分通常につかえるコピーCtrl+Cや貼付けCtrl+Vなどが違うコマンドに割り当てられていて,初心者向けではない.)その上,エディタにプラグインを追加することで無限に拡張できます.(sublime textにもあるけど).


とりあえず動けばなんでもいいので,ここはSublime Textで説明していきます.

適当にダウンロードして,実行しましょう.

そういえば,大抵の人は拡張子を表示しているとは思いますが,Windowsの標準設定では表示されないので,表示しましょう.
ここで解説するのめんどいので 「windows 拡張子 表示」とかでググるといいです.

プログラムを書いていきます.ちなみにプログラムのことをソースといったりコードと言ったりするのはなんなんでしょうか.

大抵のエディタは拡張子でそのプログラムが何の言語かを判別していい感じに色をつけてくれます.
なのでとりあえずファイルを保存してみましょう.

別にFile->Saveから保存してもいいのですがいちいちマウスを操作するのは効率がわるいのでコマンドを覚えましょう,
Ctrl+S(Ctrlを押したあと押したままSを押す)で保存
Ctrl+Vで貼付け
Ctrl+Cでコピー
Ctrl+Xで切り取り

このへんは大抵の場所でつかえるのでレポート作成とかのときも便利でよい.

Ctrl+Sで保存します,このときどこにファイルを保存したか覚えておきましょう,今回はsourceというフォルダを作って,「C:\source」という場所に保存することにします.

ファイル名は何でもいいですが,拡張子をcあるいはcppにしましょう..cはC言語のプログラムで,cppはC++のプログラムです.
今回はファイル名をmain.cという名前にしました,

プログラムを書いていきます.プログラムの解説とかは入門書とかにかいてあるんでそのへんを参照してくれ..

pro.png Ctrl+Sで上書き保存される.

コマンドプロンプトを起動します.これも一番はやい方法はWindowsキー+Rを押すと”ファイルをしてして実行”というウィンドウが表示されるのでそこに"cmd"とかいてEnter.これでコマンドプロンプトが起動します.

comd.png
さて,この画像の赤い部分は,いまコマンドプロンプトが参照しているディレクトリ(ファイルの場所のこと)です.プログラムを書いた場所まで移動しましょう.

cd ../ と打ち込むと現在みているフォルダの一つ上の階層のフォルダを参照します.
cd hogeと打ち込むと現在みているフォルダ内のhogeというフォルダを参照します.(なければエラー)

今回ならばcd ../../ cd sourceとやれば移動できる.(もちろんコマンドは一発でもよい)

dirと打ってEnterすると参照しているディレクトリのファイル一覧が表示される.
main.cの存在が確認できたので.コンパイルします.
firstcomp.png
gcc main.cでコンパイル,
dirコマンドでファイル一覧を取得しなおしてみる.
dekita.png
a.exeが生成されています.これが実行ファイル.

ちなみにプログラムにエラーがあるとこんなかんじにエラーがでます.(エラーメッセージは大抵正しい位置を教えてくれるが必ずしも正しくエラーの場所を教えてくれるとは限らない)
error.png

a.exeを実行します.a,exeと入力してEnter.

run.png
おめでとうございます.

要するにプログラムをエディタで編集してCtrl+S→gcc main.cでコンパイル→a.exeで実行という手順を踏みます.



とりあえずQ&A的なものを.

Q1.MicrosoftのVisualC++とか使えばめんどくさい設定とかせずにコンパイルから実行までを自動でやってくれるよ?なんで使わないの?

A.もちろんIDE(統合開発環境)を使うのは便利だしいいんだけど,自分がそれしか使ったことなくてコマンドで打つのを学んで初めてIDEの凄さを理解した(Makefileとか)のでコマンドでやってみることをおすすめしたい.


Q2.環境変数の設定ってあれはなんだったのか?

あれは,コマンドプロンプトにプログラムを認識させるためのものです.C:\MinGW\binにgcc.exeやg++exeがある.「gcc main.c」とかしているのはgcc.exeというプログラムに対してmain.cというプログラムを入力として与えている.
ただしこのgcc.exeがどこにあるのかコマンドプロンプトは把握できない.
もちろん毎回絶対パスを指定してもよい(C:\MinGW\bin\gcc.exe main.cみたいな)けどめんどくさいので,コマンドプロンプトに,プログラムの位置を教えるために,gcc.exeがあるディレクトリを参照させているということ.

Q3.C++でコンパイルするには?

g++ main.cppとかやるといい感じになりますよ.

Q4.sublime textからたまに買えって言われてうざい.

A.それなわかる.うざいなら他のエディタ使うとよい..

とりあえずこれで,CやC++を勉強できる環境が整いましたね.めでたしめでたし.

・・良心的な説明を書くのは疲れる(ググりながら力をつけるのもありだけど,自分初めてのとき困ったからいいと思うけど.

現在アルゴリズムの修行中.黒い画面と向き合うのもつかれてきたのでiPhoneアプリを作ったりDXライブラリで何か遊んだりしたいなあ

次回予定「:VisualC++とDXライブラリで”黒い画面でプログラムのお勉強”していたことから開放されよう」
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。