12月 25

OpenGLをOpenCVで動画保存・その1

Pocket

どうも、アルパカさんです。
クリスマスですね〜。

さて、唐突ではあるんですが、「タチコマプロジェクト・その3(シミュレーションソフトウェアの製作(2))」でOpenGLを使ってアニメーションの表示を行いました。
そこで、アルパカさんは、どうにかしてうまく動いているところをお見せしたかった。
しかし、OSに付属しているキャプチャソフトを使うのもクールじゃないし、携帯のカメラで撮るなんてのは愚の骨頂パカ…

ていうかみなさんはOpenGLのアニメーションなり静止画なりはどうなさっているのか…
と調べた結果、OpenCVというライブラリを使って処理している事が多いらしいとわかりました!!
これはPythonに限らずです。(というよりむしろC++とかのほうが多いかな…)

ということで、何回かに分けてOpenCVの導入とOpenGLでの動画保存についてまとめていくパカ〜。

導入(MacOSX編)

恐らく、

だけででいけるはずです…
ただ、試行錯誤しながらだったのでもしかしたら他にも必要な物がある可能性が…

導入(Ubuntu編)

流れとしては、
ツールやライブラリを入れる -> gitか何かでOpenCVのソースを持ってくる -> コンパイル
の感じ。
MacOSXでのbrewであればこの辺はおまかせで良いのかな?

[参考資料1]を参考にして、

これでOpenCV入れる準備はおけ。
適当なとこで

してOpenCVのソースを落とし(OpenCV3のバージョンをチェックアウトし)、

んで、最後に

やってエラーでなければ(多分)大丈夫。

こっちも試行錯誤しながらだったので他に必要かも…

参考文献

[参考資料1] Adrian Rosebrock,Install OpenCV 3.0 and Python 3 on Ubuntu – PyImageSearch

12月 12

タチコマプロジェクト・その1

Pocket

久しぶりの投稿。
どうも、アルパカさんです。
 

卒論が忙しい時期になってまいりました。
もう留年したくないので頑張ります。
 

さて、早速ですが、僕はタチコマが作りたい!!!
タチコマとは、アニメ攻殻機動隊S.A.C.に出てくる多脚戦車である
 

「タチコマな日々」からタチコマの画像
完全新作! 神山健治監督作品『タチコマな日々』 同時上映決定! – 攻殻機動隊 S.A.C. SOLID STATE SOCIETY 3Dより引用

こいつです。
皆様にもタチコマが大変可愛いことがわかって頂ければと思います。
 

まぁ実際にはタチコマっぽい何かになるとは思いますが、いくつかの目標をたてたいとおもいます。

  • 4足歩行が出来ること
  • 4足でチーターみたいに走る ☆
  • 足に車輪がついていて、走行出来ること
  • 腕が2本あり、物がつかめること
  • 動物っぽい、有機的な動きができること
  • カメラを積み、画像データから行動を決める
  • AIっぽい何かを積む ☆

まぁ、☆付いてるのは難しそうなので優先度低めで。
 

んで、まぁ色々やりたいこともあるので、実際のTODOリストとしては、

  • 設計、部品部材選定
  • 製作
  • タチコマ搭載ソフトウェア作成
  • シミュレーション作成

ぐらいですかね。
シミュレーション作成は、モーションを作ったりいろいろやりたいことがあったので。
 

ということで、次回からはTODOリストの項目ごとに色々やっていきたいと思います。
まぁ卒論とか書き終わってからが本番だからしばらくあまり更新できなそうだけどね。。。

10月 05

自転車ライト修理

Pocket

気づいたらライト壊れてたので修理。
電池抜いて分解しようと力を入れると…
IMG_1957
あぁぁぁぁぁぁぁぁぁ!!!
割れたぁぁぁぁ!!!

気を取り直し、分解すると、
20151005_1
あ、ここが切れてる…

ここをハンダ付けして、
20151005_2
ついたので、

んで、さっき割れたところは
20151005_4
ホトボンで止める(適当)

20151005_5
無事光りました。

9月 29

カブ50のオイル交換

Pocket

乗ってるカブは「スーパーカブ50カスタム」。
とってもいい子だけど、何か調べたい時「カブ50カスタム」って調べると…
「カブ50」を「カスタマイズ」した関係のがめちゃ出てきます。
大抵そういう時はほしい情報とは違うので、仕方がなくいつも「角目カブ」と調べてます…

閑話休題

てことで今日はお昼すぎ頃雨が上がり、大学行こうと思った時、ふと
「前回オイル交換したのいつだっけ…?」
と思い、確認すると全然オイル入ってない!!!
IMG_1864
超綺麗!!笑
オイル入っていれば、オイルキャップの先は
IMG_1941
こうなるはず(オイルが黒いとね。普通は黒いはず。うん。)

てことで、早速交換。
まずはオイルを柔らかくするために5分位アイドリング。
んで、下にペットボトル切ったやつ(適当)置いて…
メガネレンチ(17mm)でドレンボルト外して…
IMG_1873
うわァァァァァァァ!!!
IMG_1936
はい、ドレンボルトがドボンしました。

まぁそれは置いといて、キックアーム蹴ったりカブ傾けたりしてできるだけオイル出しきって…
気を取り直してドレンボルトを締め直し、こいつ(↓)で
IMG_1938
600ccオイルを入れる。前回の余り。丁度あった。

んで、オイルキャップで一応量を確認。
IMG_1939_text
透明だから見難いけど上限まで入ってる。綺麗なオイルや!
んで、オイルキャップを締めて完了。

ちなみに、入ってたオイルを計測したところ
IMG_1944
容器の重さを考えても100cc程度しか入ってないのか。少なすぎ…
てことで次回からはマメにオイル交換しよう(戒め)

追記
現状を備忘録として
総走行距離:15858.4km
オイル交換日:2015/09/29
てか中古で買ってから何キロ走ったんだろ…

9月 29

SublimeText3 のプラグインで import するとき

Pocket

ST3のプラグイン開発してて気づいたこと

てな感じに普通に別ファイルにクラス分けしてインポートしたら

と怒られたわけ。
(SublimeTextとか関係なしに)普通にソースコード書いてる時はそんなことなかったのに…

てことで「sublimetext3 plugin importerror: no module named」とかってググると、こんなページを発見。
何てことはない、単にそこにパスが通ってなかったってだけ。
プログラミング初心者(何年やってんねん)ってことで一つ許して。

んで、ST3のAPIリファレンス見つつ、さっきのサイトも参考にすると、

って感じになる。
なんだかかっこ悪いなぁ…できれば一番最初にimportしたいなぁ…
あ、ちなみにこのプラグインがあるディレクトリと同じディレクトリに、目的のクラス入りファイルがある場合ね。

これでめでたしめでたし。

追記
あかn…
実在するファイル以外が active_view な状態でプラグイン起動すると(少なくとも sublime_plugin.WindowCommand プラグインでは)、
self.window.extract_variables()['file_path']

KeyError: 'file_path'
で怒られるZE…まじかYO…

てことで、(プラグインを普通の場所においているなら)
sublime.packages_path()
でプラグイン置き場までのパスが出てくる。
それから、 __name__ディレクトリ名.モジュール名が来る(?)ので

とすればよい(ホントかよ…)
os.path.join() はパスを連結してくれる奴。
まぁ単に’/’でつなげるだけなんだけどね。

ちなみに、 __name__についてもあまりよく理解してないし、ついでになんで’file_path’キーが無いって怒られたかもわからない。
勉強が足りないなぁ…

さらに追記
os.sys.path['file_path']でみると、プラグイン置き場(つまり、Packages ディレクトリ)まではパスが通っている。
つまり、単に

でええんやね。
ちなみに PackageNameはパッケージ(プラグイン)の名前な。
ほんますまへん。

9月 27

HelloWorld!!

Pocket

ドメインとってサーバー借りてWordpressインストールして、、、
初めてづくしだけど楽しい
がんばるんば