Pythonでいろいろやってみる

Pythonを使った画像処理や機械学習などの簡単なプログラムを載せています。

2020-12-01から1ヶ月間の記事一覧

マンデルブロ集合を描画する

マンデルブロ集合は複素数列{zn}n∈N∪{0} が、n→∞の極限において無限大に発散しないという条件を満たす複素数の集合を指します。Pythonで複素数を扱うcomplex(real, imag)の実部(real)と虚部(imag)を画像のx,yに対応させ各座標で数列が発散するかどうかチェッ…

画像をセピア色に変換する(グレースケール画像を赤く補正する)

劣化した古い白黒写真の茶色っぽい色味をセピア色といいます。画像をセピア色に変換することで古い写真のように見せることができます。セピア色への変換にはいくつか手法がありますが画像をグレースケール変換したのちに、その画素値を元に青が弱く赤が強い…

ルックアップテーブルで画像の色味を調整する(B,G,Rチャンネルを個別に補正する)

ルックアップテーブルはあらかじめ用意された画素値に対応した変換表で画像の調整に用いられます。Pythonの画像処理ライブラリOpenCVのLUTによりB,G,R各チャンネル個別にルックアップテーブルでガンマ補正し画像の色味を変えます。

ルックアップテーブルで画像の彩度、明度を調整する(画像を明るく鮮やかにする)

ルックアップテーブルはあらかじめ用意された画素値に対応した変換表で画像の調整に用いられます。Pythonの画像処理ライブラリOpenCVのLUTにより彩度、明度チャンネル個別にルックアップテーブルでガンマ補正し画像の彩度、明度を変えます。

モンテカルロ法で円周率を求める

モンテカルロ法はシミュレーションや数値計算を乱数を用いて行う手法の総称です。正方形と内接する四分割円を考え、正方形にランダムに多数の点を描画した際に、内接円の中と外にある点の数から円の面積が求まり、そこから円周率が算出できます。

傾いた画像を自動で水平にする

Pythonの画像処理ライブラリOpenCVには領域検出機能(findContours)および回転外接矩形算出機能(minAreaRect)があります。お札が傾いて写った写真からこれらの機能で傾いている角度を算出、求めえた角度を利用し元画像を回転、お札を水平にします

ランダムウォークによる感染シミュレーション

ランダムウォークは確率的な運動モデルの一種で、次にどちらにどれくらい動くかを確率的に決めるため不規則な挙動を示します。2次元のランダムウォークモデルで感染の広がりのシミュレーションを行います。ある領域に50人の人間がいて1人だけ感染症に掛かっ…

エクセルファイルを新規作成、データを入力しグラフを作成する

Pythonのエクセルファイル操作用ライブラリopenpyxlを使うとエクセルワークブックの生成や読み書き、データ入力、グラフ作成などがエクセルを立ち上げずにPython上で行えます。新規ワークブックの作成、データ入力、散布図作成を行います。

新型コロナ陽性者数のアニメーショングラフを作成する

国内の新型コロナウイルス陽性者数のcsvファイルを読み出しグラフにします。Pythonでグラフを作る場合通常ライブラリmatplotlibを使用しますがここでは画像処理ライブラリPillowでアニメーショングラフを描画します。