tata色々な備忘録

データ解析、画像解析、化学分析などなど

python

10分でPythonの科学計算環境構築(anaconda+ Visual Studio Code)

10分で科学計算+pythonのコーディング環境構築(自動補完)まで。 anacondaとVisual Studio Codeの組み合わせになる。 Visual Studio Code(VScode)はMS製のIDEだがmac、linuxでも動く。 Markdownでも優秀なツールであり、少しマイナーだがお勧め。 環境構…

Pythonで株・為替・先物解析 その1

Pythonで株・為替・先物解析の解析をしてみる。 そのままmatplotlibで描画すると土日祝日が空欄になるため、軸を別設定した。 import jsm import datetime import pandas as pd import matplotlib.dates as mdate import matplotlib.finance import pylab as…

python+Opencvによる画像処理10(線や文字の書き込み)

画像にスケールを書き込む必要があり、線や文字の書き込み法を調べたのでメモ。 (1) 線の書き込み cv2.line(image,(start_x,start_y),(end_x,end_y),color,thickness) (2)文字の書き込み cv2.putText(image,text,(start_x,start_y),font, font size,color) …

PyQt(PySide)で画像処理その3(OpenCVとの連携)

前回の続き。 PyQt(PySide)で画像処理その2(GUI動作設定の基本) - tataboxの備忘録 今回はExecuteボタンを押すと1)表示画像をOpencvにてエッジ検出し、 2)GUIにて元画像と重ねて表示するコードを作成する。 OpenCVにて画像処理する下記のコードを作成し、o…

PyQt(PySide)で画像処理その2(GUI動作設定の基本)

PyQt(PySide)で画像処理(その1) - tataboxの備忘録 前回の続き。 画像と重なるため、若干レイアウトを変更しました。 というわけで、Qtで画像を開き、画像に合わせてフレームのサイズを変更するコードです。 前回作成したpyqt_Opencv.pyと同じフォルダに…

PyQt(PySide)で画像処理その1(GUIの作成)

久々の更新。 PyQt(やPySide)とOpenCVで画像処理GUIアプリを作ってみる。 ※8/31追記 guiqwtはpysideで動かない⇒graphics Viewに変更 1.画面レイアウトの作成 (1)メイン画面 QtDesignerを立ちあげてMainwindowを選択(MacはQt Createrから作成)。 (2)ウィ…

pythonで散布図行列

pandasを使用して散布図行列や箱ひげを書いてみる。 データはirisを使用。 https://raw.github.com/pydata/pandas/master/pandas/tests/data/iris.csv (日本語環境テストのため、Nameを種類、lengthを長さ、widthを幅に置換して使用) 前提条件のmatplotlib…

vimの環境構築2

参照というかそのまま http://qiita.com/puriketu99/items/1c32d3f24cc2919203eb cd ~/vimfiles/bundle git clone https://github.com/Shougo/neobundle.vim git clone https://github.com/Shougo/vimproc _vimrcに下記を記載 if has('vim_starting') set ru…

画像解析

Opencvで面積計算。 もう少し修正するかも。

Vagrant+VirtualBox環境の構築7(IPython Notebook+CentOS)

IPython Notebookの外部出力 基本ここの通り http://thomassileo.com/blog/2012/11/19/setup-a-remote-ipython-notebook-server-with-numpyscipymaltplotlibpandas-in-a-virtualenv-on-ubuntu-server/ pyQtは下で落とす http://pkgs.org/centos-6-rhel-6/cen…

Vagrant+VirtualBox環境の構築5(Django+Mysql+CentOS)

vagrantfieの下記行にてIPを指定 config.vm.network :private_network, ip: "192.168.33.10" SentOSのファイアウォールを解除 sudo service iptables stop これでVagrnt中CentOSのweb画面が確認可能 http://192.168.33.10 Djangoの起動と設定 $ cd /var/www …

Vagrant+VirtualBox環境の構築2(CentOS)

python2.7のインストール 参考 http://3rd-tl.blogspot.jp/2013/05/centosyumpython.html $ sudo rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/epel-release-6-5.noarch.rpm $ sudo rpm -ivh http://dl.iuscommunity.org/pub/ius/st…

scipy+Opencv+numpyによる画像分類2

切り出したイメージからの続き。 import numpy as np import cv2 import matplotlib.pyplot as plt im = cv2.imread('bubbles.jpg') im2 = cv2.imread('bubble2.jpg',0) imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY) ret,thresh = cv2.threshold(imgray,10…

scipy+Opencv+numpyによる画像分類

ヒストグラムを利用した分類法。 定番っすね。 import cv2 import numpy as np import pylab as plt import scipy.ndimage as nd def mask_test(im): if im.ndim == 2: im2= im[0:890,:] im_gray = im2 else : im2= im[0:890,:] im_gray =cv2.cvtColor(im2,c…

Sublime text2の環境構築2

sublime textでmatplotlibやopencvを実行する。 sublime textを立ちあげ、 Preferences⇒packages folder⇒ python⇒Python.sublime-build を開く { "cmd": ["python", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "env":{"PYTHONP…

python+Opencvによる画像処理11(フーリエ変換2、カラー)

2次元フーリエのコード、 numpy使うと非常に簡単でした…… import cv2 import numpy as np import pylab as plt im = cv2.imread('lena.jpg',) im1 = im[:,:,::-1].copy() im_RGB = cv2.split(im1) plt.subplot(1,4,1),plt.imshow(im1) j = 2 title = ('Red',…

OpenCVとPIL(python Image library)のデータ変換

OpenCVとPILの相互利用 OpenCVとPILのデータ変換。 PIL⇒OpenCVは下で問題なし。 import numpy as np OpenCV_data=np.asarray(PIL_data) OpenCV⇒PILは from PIL import Image PIL_data=Image.fromarray(OpenCV_data) 青画面+上下反転の残念仕様になるので対策…

python+Opencvによる画像処理9(2値化)

二値化法の比較。 import pylab as plt plt.rcParams['font.family'] = 'IPAexGothic' plt.rcParams['font.size'] = 12 import cv2 import numpy as np im = cv2.imread("cat.jpg") im_gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) #Adaptive Gaussian Thre…

matplotlib、pylabで日本語+フォント変更

ここを見ながら実施 http://www.sakito.com/2012/01/matplotlib.html matplotlib.matplotlib_fname() でmatplotlibrcの場所を調べる。 $copy C:/python/site-packages/matplotlib/mpl-data/matplotlibrc ~/.matplotlib ~/.matplotlib/matplotlibrcに下記を記…

python+Opencvによる画像処理8(フィルター)

エッジ検出のため、ブロックノイズ除去のフィルター。 詳細はこちら http://opencvpython.blogspot.jp/2012/06/smoothing-techniques-in-opencv.html import cv2 import numpy as np im = cv2.imread("lena.jpg") #カラー bilateral_blur = cv2.bilateralFil…

python+Opencvによる画像処理7(二次元フーリエ変換)

画像のフーリエ変換。 (Opencvのデモを少し修正して翻訳) 二次元フーリエ変換 全行方向にフーリエ変換した結果に対し、 さらに列方向でフーリエ変換をする。 4隅に低波数が出て見づらいので、 四隅が中央に来るよう加工する。 出た模様は一般にパワースペ…

python+Opencvによる画像処理5(画像結合とマスク)

1.重み付け import cv2 import numpy as np im1 = cv2.imread("lena.jpg") im2 = cv2.imread("lenna-image.jpg") alpha = 0.5 beta = 0.3 add = cv2.addWeighted(im1,alpha,im2,beta,0) cv2.imwrite('add.jpg',add) alphaとbetaの数値で重み付けして合成可能…

python+Opencvによる画像処理5(リサイズ)

画像の大きさを半分にするコード。 import cv2 import numpy as np def half_size(im): hight = im.shape[0] width = im.shape[1] half_size = cv2.resize(im,(width/2,height/2)) cv2.imshow("half_size",half_size) cv2.waitKey(0) cv2.destroyAllWindows(…

python+Opencvによる画像処理4(色チャンネル変更)

色チャンネルを触ってみる。 解像度を揃えたブランクをnumpyで作成し、 分割した色空間を入れ替えて流し込む。 BlueをRedに、GreenをBlueに、 RedをGreenに入れ替え。 import cv2 import numpy as np def color_change(im): if im.ndim == 2: pass else : hi…

python+Opencvによる画像処理3(色チャンネルとヒストグラム2)

1.色チャンネルの取り出し import numpy as np import cv2 im = cv2.imread("lena.jpg") RGB =cv2.split(im) Blue = RGB[0] Green = RGB[1] Red = RGB[2] cv2.imshow("Blue",Blue) cv2.imshow("Green",Green) cv2.imshow("Red",Red) 2. 別な色チャンネル取り…

python+Opencvによる画像処理2(ヒストグラム)

続いてヒストグラム 1. opencvに集計させるパターン import cv2 import pylab as plt im = cv2.imread("lena.jpg") hist = cv2.calcHist([im],[0],None,[256],[0,256]) plt.plot(hist) plt.xlim([0,256]) plt.show() 2. ヒストグラム(matplotlib)で集計 im…

python+Opencvによる画像処理1

python+opencvのお勉強。 まずは読み込みと表示から import numpy as np import cv2 import pylab as plt im = cv2.imread('lena2.jpg',flags=0) if im is None: print "None" exit() plt.imshow(im) plt.show() import numpy as np import cv2 import pylab…

日本語のエンコードエラー

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) と出る場合の対策。 site-packageフォルダに下記の sitecustomize.py を作成 import sys sys.setdefaultencoding("cp932")

ファイル結合とテキスト処理1

残念データの統合と解析をすることに。 時間ごとにフォルダ分けされ、残念さが増している。 pythonでファイルを統合 import glob import os os.chdir('c:\\Users') f=open('c:\\Users\\workfile.txt','a') for name in glob.glob('\*\*.txt'): for list in o…

python(Django)とapacheの連携(mod_wsgi)

DjangoとApacheで苦戦したのでメモ Apacheはここで落とす http://www.apachelounge.com/download/ wsgiと合わせる必要あり。32bit版推奨。展開して任意のフォルダへ。 WindowsならCドライブ直下に置くとhttp.confの編集量が減る。 mod_wsgiはココから落とし…