2016年3月4日金曜日

Pythonでターミナル上に画像表示

Pythonを用いてターミナル上に画像を表示するものを作ってみた
ターミナル上に画像を表示するためにエスケープシーケンスを使いました。エスケープシーケンスについては以下のサイトが非常に参考になりました。
参考http://d.hatena.ne.jp/zariganitosh/20150224/escape_sequence

画像の読み込みにはPILを使用したので、適当にインストールしときます。
以下にコードを示します。

実行結果がこちら


律ちゃんが出てきました、楽しい!!

2016年2月21日日曜日

PyOpenGLの導入

ubuntu14.04にPyOpenGLのインストール方法

$sudp pip install PyOpenGL PyOpenGL_accelerate
これで導入完了だと思ったんですが

OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling

こんなエラーが出てしまった。で以下のコマンドを打ったら

$sudo apt-get install python-opengl

無事導入完了した。
どうもpipでインストールすると不具合が出るらしいです。

2016年2月19日金曜日

mp4からGIFを作成

pythonでmatplotlibにImagemagicを連携出来なかったので、mp4からgifを作成しました。
順序としては
必要なソフトをインストール
sudo apt-get install libav-tools imagemagick
変換したいmp4があるフォルダに移動して
-rオプションでfpsを設定しmp4を画像にバラします。
avconv -i input.mp4 -r 10 -f image2 image-%03d.jpg
input.mp4は変換したい元mp4データです。
そしてばらした画像をGIFに合成します。
convert -delay 10 -loop 0 image-*.jpg output.gif

まあ下記サイト様をそのまま実行しただけなんですけどね。
参考サイト:http://kivantium.hateblo.jp/entry/2015/02/02/165936

参考サイト様ありがとうございます、おかげでGIFが作れて心がうきうきしてます。
ちなみにubuntu14.04でmatplotlibにImagemagicを連携する方法知っている人がいたらどなたかご教授を〜

Q学習

今回は強化学習の一つであるQ学習を実装してみました。 以下ソースコードです。 こんな感じで実行すると各マスのQ(s,a)の最大値が表示されます。

2016年1月1日金曜日

KL展開

 今回はpythonでKL展開を実装してみました。
KL展開というのは多次元のベクトルをできるだけ元の情報を失わないように次元を削減しより少ないベクトルで表現しようというものです。(最近学んだばっかなので間違っていたらすいません)
で以下に2次元から1次元への変換を行うプログラムを書きました。



 実行結果はこんな感じに

 一応出来ているっぽいですね。

2015年12月30日水曜日

Numpyのベクトル演算時の注意

久しぶりの投稿だなー
pythonでベクトル演算やらそうとしたら1*2と2*1の掛け算で1*0じゃあ演算できねえよって怒られた。
でそのときは
np.matrix((i-w.mean(0)))
と.matrixと入れて行列に直したら解決したとさというお話し

2015年6月17日水曜日

メンバ関数を関数ポインタで代入

 メンバ関数を関数ポインタで代入しようとしたら四苦八苦してしまったので、メモメモ…
 最初はstd::functionを使用してうまくできないかなーってやってたんだけど無理でした、はい
 でboostを使ったところすんなりできました、はい。 ということで以下にコードをー
 class A
{
   void add(boost::function < void () > _a);
}
 class T:public A
{
   void start();
 ...
  void write();
}
void start()
{
   boost::function func= boost::bind(&Serial::write,this);
   this->add(func);
 }
でできました。
やっぱりboostってすごいですね、後関数ポインタが理解できていないので勉強しないとですね…