Python

Pythonでクラス

いままで全て関数型で実装していたPython、ちょっとしたことからクラスを実装してみようと思いついた。 クラスとメンバ変数はこんな感じで書く。 class Cuboid(object): def __init__(self, width, height, depth): self._width = width self._height = heig…

numpy(ndarray)で行列

numpy.matrixは2次元行列しか扱えないので、numpy.arrayを使っていく。 初期化 matrix3x3 = np.array([[1,2,3],[4,5,6],[7,9,8]]) print(matrix3x3) print(type(matrix3x3)) 転置 transposedMatrix3x3 = matrix3x3.T print(transposedMatrix3x3) 線形結合(加…

forループでループカウントを得る

enumerateを使う、整数のループカウントと配列もしくはリストの要素がtupleで得られる。 arrayTest = np.array([0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9], dtype=float) for (count, element) in enumerate(arrayTest): print(count, element) fo…

ファイルパス操作

githubを利用してソースコードを複数のマシンで共有していると環境依存の部分をできるだけ取り除いて、共通部分だけを共有できるようにする必要がある。 前回の画像認識で、OpenCVに含まれるHarr-likeを利用したカスケード識別機を使っているのだが、この識…

OpenCVとnampy(ndarray)で画像処理

Pythonの醍醐味といえば、OpenCVなどの強力なライブラリーが使えることだ。 過去に自力でかなりひーこら言いながら実装したフーリエ変換(FFT)や射影変換があっという間にできてしまった。 OpenCVは中間データフォーマットとしてndarrayを使うので、ndarrayで…

Pillowで画像処理

Pillowは、もし誤解していなければ、GDIのような単純なグラフィクスライブラリーだ。 バッファーを準備して、線を書いたり、単純な図形を書いたり、画像を読みだして表示したりできる。 setpixelやgetpixelもあるので、それを利用して画像処理を書くこともで…

list、array、ndarray

Pythonの標準ライブラリーには配列がなく、listかtupleになる。 listは文字通りリストな上、なんでもいっしょくたに放り込める。 見た目はn次元配列に見えるようなこともできるが、実質は(1次元の)リストで、そのリストのオブジェクトとしてリストを入れ子に…

PythonとTuple

tupleとは順序組 - WikipediaPythonでは関数の戻り値をtupleで返すことができる。 def doSomething(num1, num2): return (num1 + num2, num1 - num2, num1 * num2, num1 / num2)としておいて returnValue = doSomething(1, 2)とすると returnValue = (3, -1,…

Phython matplotlib 3Dグラフ

ついでにCSVファイルの読み込み、散布図で書いた、後悔はしていない。csvファイル (exampledata.csv) x,y,z 0,0,0 1,0,1 .866,.5,1 .5,.866,1 0,1,1 -.5,.866,1 -.866,.5,1 -1,0,1 -.866,-.5,1 -.5,-.866,1 0,-1,1 0.5,-.866,1 .866,-.5,1 2,0,4 1.73,1,4 1,…

Phython matplotlib 2Dグラフ

ついでにCSVファイルの読み込み、散布図で書いた、後悔はしていない。csvファイル (exampledata.csv) x,y1,y2 0,0,0 1,2,-1 2,4,-2 3,6,-3 4,8,-4 5,10,-5に対して import matplotlib.pyplot as plt import numpy as np def main(): csvFile = np.loadtxt('e…

Python matplotlibメモ

(20201225 追記) 純正Pythonにmatplotlibなどを後からインストールするより、最初からAnaconda使った方がよい。 仮想環境も勝手にやってくれる。 そちらを禿しくお勧め。code.visualstudio.com まず仮想環境を作る コマンドパレットから Terminal: Create Ne…

Visual Studio CodeでPython開発環境 on Windows 10(メモ)

仕事でPythonを使いそうなので、久しぶりに引き出しから引っ張り出してきた。 テクノロジーの世界は日進月歩、あっというまにいろんなことが便利になる。 以前に nobu-macsuzuki.hatenablog.com を書いたのだが、今や数段楽になっている。 VS Codeのプラグイ…

Anaconda & Visual Studio CodeでPython開発環境 on Windows 10(メモ)

(20210313 改定) Anacondaをダウンロード、インストール https://www.anaconda.com/download/ インストール時に"Add Anaconda3 to my PATH environment variable"にチェックを入れておくと吉。 Visual Studio Codeをダウンロード、インストール https://code…