tata色々な備忘録

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

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

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

Python3.6にOpenCVをインストール(windows10)

忘れそうなのでメモ書き。 (現状のOpenCVはpython3.5までしか対応していない) 1.Anacondaでpython3.6を入れる。 Download Anaconda Now! | Continuum 2.conda-forge/opencv-feedstockを入れる github.com 手順(コマンドプロンプト) conda config --add ch…

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

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

VBAでソート

とりあえず書いてみた。 以下のようなデータがあるとして pos cur lots price Buy USD 10,000,000 120.5 Buy USD 10,000,000 119.5 Buy EUR 1,000,000 132.5 Buy EUR 1,000,000 130.5 Sell USD 10,000,000 121.5 Buy USD 10,000,000 118.5 Sell USD 10,000,0…

PyQt(PySide)とOpenCVで画像処理その7(日本語処理)

OSを判定して日本語対応させる。 os.nameがntならcp932、それ以外ならutf-8でエンコードする。 import os import PySide from PySide import QtCore,QtGui import cv2 #OSチェック def os_check(): #windows if os.name is 'nt': code = 'cp932' return code…

PyQt(PySide)とOpenCVで画像処理その6(サブウィンドウ)

久しぶりの更新。以下の続き PyQt(PySide)とOpenCVで画像処理その5(イベントフィルター) - tataboxの備忘録 PyQt(PySide)でサブウィンドウを呼び出したり、ウィジットを追加してみる。 1.QtDesigner で下のように作る Main window (ファイル名:main.ui obj…

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)とOpenCVで画像処理その5(イベントフィルター)

前回の続きということで、マウス操作にてカーソル位置の取得を行う。 PyQt(PySide)とOpenCVで画像処理その4(右クリックメニュー) - tataboxの備忘録 イベントフィルターを使用する。 前回のコードに下記を追加 def __init__(self, parent = None): ・ ・ …

PyQt(PySide)とOpenCVで画像処理その4(右クリックメニュー)

前回の続き。コンテキストメニュー(右クリックメニュー)の追加方法について。 PyQt(PySide)で画像処理その3(OpenCVとの連携) - tataboxの備忘録 main_setup.pyに下記を追記 def __init__(self, parent = None): ・ ・ ・ #ここから pic_view = self.pic_…

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のコマンド整理

Vim

vimのコマンドを整理。 i 入力モード : コマンドモード v ビジュアルモード esc ノーマルモード ノーマルモード 移動 h ↑ j ↓ k ← l → w 次の単語に移動 b 前の単語に移動 e 単語の末尾に移動 gg 先頭行 G 最終行 delete x 行削除 dd 一行コピー yy 単語コピ…

PyMOL

タンパク質とか化学式を可視化するソフト。 pythonのインストールが必要。 インストール http://biokids.org/?PyMOL%2F%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB 使い方 http://web.chaperone.jp/w/index.php?PyMOL%2Fusage

gitデビュー

下記サイトを参考 http://d.hatena.ne.jp/killingout_n-bita/20130324/1364126261 http://d.hatena.ne.jp/snaka72/20100602/1275496817 http://d.hatena.ne.jp/shim0mura/20111212/1323660740 1.基本 #フォルダの初期化 git init #フォルダ内のファイルを監…

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環境の構築6(CentOS)

nginx + gunicorn + Djangoで 基本ここの通り http://source.hatenadiary.jp/entry/2013/06/11/132346 gunicornのインストール $ sudo easy_install gunicorn nginxのインストール $ sudo yum install nginx ログファイル用のフォルダ作成 $ sudo mkdir /etc…

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環境の構築4(Mysql+CentOS)

MySQL5.6のインストール 参考 http://kurukuru-labo.com/tech/2013/05/centos6-4%E3%81%ABmysql5-6%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/ http://y-ken.hatenablog.com/entry/how-to-install-mysql5.6.x-with…

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

参考 http://dqn.sakusakutto.jp/2013/08/windows_vagrant_ssh.html http://qiita.com/ogomr/items/0a2ac80206bad4fa3089 C:\HashiCorp\Vagrant\embedded\bin\mintty.exe の使い方 #使えない $ vagrant ssh 下記のコマンドを一度実行 #sshのログイン情報を書…

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…

Scikit-Image

scikit-Image http://scikit-image.org/ from skimage import io io.use_plugin('qt') img= io.imread('baboon.jpg') io.imshow(img,fancy=True) io.show() Fancy =True でXYの位置やRGBやHSVの値が出るモードになる。 使い方によっては便利かも。

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',…

python+Opencvによる画像解析1(ORB特徴量)

フリーの局所画像記述子であるORBによる特徴抽出 import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('lena.jpg',0) # 検出器の初期化 orb = cv2.ORB() # 特徴量の検出と出力用の計算 kp, des = orb.detectAndCompute(im…

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による画像処理10(輪郭検出)

import cv2 import numpy as np import pylab as plt im = cv2.imread("cat2.jpg") im2= cv2.imread("cat2.jpg") #グレースケール im_gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) #ガウスフィルタ im_gray_smooth=cv2.GaussianBlur(im_gray,(11,11),0) #2…

Vagrant+VirtualBox環境の構築1

Vagrant http://www.vagrantup.com/ VirtualBox https://www.virtualbox.org/ 仮想マシン置き場(URLコピー) http://www.vagrantbox.es/ $vagrant box list コマンドラインにて #所持するboxのリスト $vagrant box list #boxの取得 $vagrant box add 任意の…

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…

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

CSVファイルの数珠つなぎ。 ① 列名のリストを作成 ② 空ファイルに①を記入 ③ CSVファイルで①の行を読み飛ばし ④ 必要事項を追記して書き込み from __future__ import with_statement import re head_row=u"CSVの列名リスト" head_gomi= u"ヘッダーのゴミ" pat…

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

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")

ggplot2メモ書き(ヒストグラム)

R

データの可視化を目的に、ヒストグラムの検討。 表現を変えて見比べてみる。 まずはデータ取り込みと準備。 fillでグルーピング設定をする。 require(reshape) require(ggplot2) syukei <- read.table("clipboard",header=TRUE) syukei.m <- melt(syukei,id=…

ggpairsの使い方

後で編集予定。 デモデータの挙動が?だったので自分のデータを使用。 library(GGally) ggpairs( ggpairs_demo[,1:3], upper = list(continuous = "cor", combo = "dot"), lower = list(continuous = "smooth", combo = "dot"), ) 箱ひげやヒストグラムが自…

ファイル結合とテキスト処理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…

rChartsのインストール

R

rChartを入れてみる。 ggplot2は素晴らしいのだけれど、二軸が使えない。 RでHighChartを扱うrChartsを入れてみる。 github https://github.com/ramnathv/rCharts インストール > install.packages("devtools") > library(devtools) > install_github('rCha…

Sublime text2でコード補完をtab選択し、Enterで決定

Sublime text2のコード補完デフォルトが十字キーで使い辛い。 Tabで選択+Enterで決定するための設定を行う。 方法 Preferenceのキーバインド⇒ユーザーにて、下記の項目を追記 { "keys": ["tab"], "command": "auto_complete", "context": [ { "key": "auto_c…