• 追加された行はこの色です。
  • 削除された行はこの色です。
  • Python へ行く。

#contents

**棒グラフに斜線などを引く [#q9173cdd]
http://matplotlib.org/examples/pylab_examples/hatch_demo.html

**ラベリングした領域の画素数を取得する [#o14ee775]
http://codepad.org/pK6n6ZRY~
http://imagingsolution.blog107.fc2.com/blog-entry-193.html~
ごり押しだがなんとかなった。二値化画像imgがあるとすると、
 label_img, nb_labels = ndimage.label(img)
 num = np.histogram(label_img, nb_labels)
 num = num[0]
 num = num[1:]
 num.sort()
 num[num>4]
などで取得できる。最後は、5画素以上の場合のみを取得している。


**除算演算子(/)でfloat()を使わず小数が得られるようにする [#dcd19a45]
http://d.hatena.ne.jp/sle/20080615/1213497687
 from __future__ import division

**graphのカラーマップをデジタル的に変える [#v1b036a9]
 cmap = cm.get_cmap('rainbow', 10)
など。~
http://stackoverflow.com/questions/12570627/getting-a-matplotlib-colorbar-tick-outside-data-limits-for-use-with-boundaries-k~
ついでにカラー一覧~
http://www.physics.ox.ac.uk/users/msshin/science/code/matplotlib_cm/~
ついでにカラーバーの表示~
 fig.colorbar(graph, shrink=0.6)
 #cbar.ax.set_yticklabels(np.linspace(zmin, zmax, 11)) 

**graph titleの移動 [#a81597a7]
http://matplotlib.org/users/text_intro.html~
http://stackoverflow.com/questions/12750355/python-matplotlib-figure-title-overlaps-axes-label-when-using-twiny~
など。

**Enthought Canopyのアンインストール [#m956ed86]
https://support.enthought.com/entries/23580651-Uninstalling-Canopy~
ここが詳しい。重要なのは、canopyをpythonのデフォルトにしないことだ。または、レジストリのpythonのpathを削除しておく。これをせずにpythonxyをインストールすると、pathがぐちゃぐちゃになってまったく起動しないという事態に陥った。

**pythonのインストールについて [#z812eb90]
Python(x,y)~
https://code.google.com/p/pythonxy/wiki/Downloads~
が一番楽そう。

**IDLEの背景などを設定 [#z19d8934]
http://aikotobaha.blogspot.jp/2011/12/python-idle.html~
 Options > Configure IDLE > Highlighting
からも出来る

**環境変数 [#g543d47e]
Python
 C:\Python27
OpenCV
 C:\opencv\248\opencv\build\x86\vc10\bin

**OpenCV初期設定 [#x95595d3]
 C:\OpenCV2.3\build\Python\2.7\Lib\site-packages 
などにあるcv2.pydを
 C:\Python27\Lib\site-packages
などにコピーする

**ファイル名読み込み [#x231af38]
 import glob
 filenames = glob.glob("test/*.*")

**テキストデータをまとめて読み込み [#x5b2dda9]
 #全データ読み込み
 imgs = [np.loadtxt(filename, delimiter="\n") for filename in filenames]
 #numpy.array行列に変換
 imgs = np.array(imgs)
 #ファイル数 x 画素数の行列に変換
 imgs = imgs.reshape((len(filenames),-1))

**テキストデータの一部を読み込み [#hedd7550]
 imgs = np.array([np.loadtxt(filename, delimiter="\n") for filename in filenames])[:,:10000]

**平均を取る [#idaecdf5]
 mean_img = imgs.mean(axis=0)

**テキストデータに保存 [#f881ec08]
 import numpy as np
 np.savetxt("a.txt", img)

**グラフ作成と保存 [#ue2115ac]
 import natplotlib.pyplot as plt
 plt.plot(img)
 #グリッド作成
 plt.grid()
 #ticks
 yrange = [-0.006, -0.0062, -0.0064, -0.0066, -0.0068, -0.0070]
 yrangen = ("-6.0","-6.2","-6.4","-6.6","-6.8","-7.0")
 plt.yticks(yrange, yrangen)
 #y軸の表示範囲
 plt.ylim(ymin,ymax)
 plt.xlabel(u"ああ", fontsize=20, fontname='sans-serif')
 plt.title(u"ああ", fontsize=20, fontname='sans-serif')
 plt.savefig("a.png")
 plt.clf()

**y軸の調整 [#i9f856e8]
 #y軸の範囲
 ystart = -0.5
 yend = 0.5
 yrange = np.linspace(ystart, yend, 11)
 #y軸に表示する文字列
 yscale = 1
 yrangen = yrange * yscale
 yrangen = map(round,list(yrangen))
 yrangen = map(int,list(yrangen))
 yrangen = tuple(map(str,yrangen))
 
 plt.yticks(yrange, yrangen)
 plt.ylim(ystart,yend)

**画像に保存 [#yb5ca758]
 import cv2
 cv2.imwrite("a.png", img)

**行列選択 [#m4004bb1]
 #行
 img[0,:]
 #列
 img[:,0]

**行、列の平均 [#d65d1998]
 #行
 img.mean(axis=0)
 #列
 img.mean(axis=1)


**日本語のグラフを作成 [#dd063aa7]
http://plog.web-hack.org/2011/01/matplotlib.html~
日本語フォントが
 c:\Windows\Fonts
 c:\Python27\Lib\site-packages\matplotlib\mpl-data\fonts\ttf
になければいけない。
 c:\Python26\Lib\site-packages\matplotlib\mpl-data\matplotlibrc
の中の
 #font.serif ...
 #font.sans-serif ...
を
 font.serif : 日本語フォント名
 font.sans-serif : 日本語フォント名
に変更すると楽。
 C:\Documents and Settings\Administrator\.matplotlib\fontList.cache
キャッシュも消しておく。
 plt.xlabel(u"あああ", fontsize=20, fontname='sans-serif')
 plt.show()
とかで確認。

**pyinstallerでUnicodeDecodeErrorが出る [#x152026a]
実行するとき、ファイルアドレスに日本語表記が含まれているとエラーが出るようだ。
 ~\デスクトップ\tes.py
など。

**3Dグラフの仰角と方位角を調整する [#w980584a]
簡単に言えば、3Dグラフをどこから見るか調整する。
 ax.view_init(elev=100., azim=100)

**ヒストグラムを単色にする [#t55b2f94]
stepfilledとedgecolorを同じ色にすれば良い
 ax.hist(data, bins=200, normed=False, histtype='stepfilled', edgecolor='b', alpha=0.8)