tata色々な備忘録

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

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…

Sublime text2の導入と環境構築

今までvimを使っていたが、cssやhtml、markdown等に弱かった。 (ブラウザのリロード地獄) 操作でvimと一部互換性があるsublime text2に乗り換えを実施。 乗り換えた結論を言えば素晴らしいの一言。 ただし、シェアウェアなので注意。 1. インストール http…

Apacheのエイリアス設定

Apacheの短縮表記法について。 他のサーバー参照を参照したり正規表現が使えて変化に強く Apacheが障害に強い要因の一つなんだそうだ。 httpd.conf Alias /static/ "C:/HPLC_database/myproject/static/" httpd.confはWindowsの場合「 " 」で囲む場所と 不要…

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

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

MarkdownモードでHTMLタグのテスト

【テーブルの例】 列-A 列-B 列-C 行-1 A1 B1 C1-C2 行-2 A2 B2 行-3 A3 A3-B3 出来るようだ。良いね。 テーブルはHtml 他はMarkdown 入れ子が更に四角で囲まれてしまうのは微妙だな。 参考 http://www.tohoho-web.com/html https://help.github.com/article…

pythonのパス

pythonのパス変更について 1. ファイルへの対応 import sys print sys.path #表示 sys.path.append("c:\HPLC_Database\column") #追加 python終了で設定前に戻るので、環境変数にPYTHONPATHを追加して、 必要なフォルダを追記すると良い。 2. 開発パッケージ…

Djangoのインストール

コマンドプロンプトにて easy_install Django 簡単だね。

pandasのインストール

sudo easy_install pandas エラー出まくるけど問題なし。numpy 1.6.0以上が必要らしい。 >>import pandas as pd >>df = pd.read_csv('/Users/tatabox/Dropbox/panda.csv') >>df year\t2012\t1233\t1732\t1540\t1600 0 day\t5\t0\t5\t0\t0 1 data\t0\t0\t0\t3…

vim-quickrunでvim上からpython実行

vim-quickrunでvimからpython実行。 vim-pathogen入れた状態でbundleフォルダに移動して下記を実行。 git clone http://github.com/Shougo/vimshell.git git clone http://github.com/thinca/vim-quickrun.git ¥r でプログラムが実行される。 (syntaxでpyt…

ggplot2のラベル表記

R

ggplotのラベル表記でハマったので書く。 > library(ggplot2) > P <- ggplot(iris,aes(x=Sepal.Length,y=Sepal.Width))+geom_point(aes(color=Species)) > P ここから。 > library(scales) > P+ scale_y_continuous("変更")+scale_x_continuous(expression(…