Python

Python

【Python】rangeの構文(開始,終了,ステップ数)

Pythonを勉強して、for文を覚えると何となくrangeを使っていましたが、rangeの構文をまとめておきたいと思います。 終了の値を指定する方法 range(終了の値未満) 実行結果 開始と終了の値を指定する方法 range(開始の値...
Pillow(PIL)

【Python/Pillow(PIL)】画像のビット数、チャンネル数を調べる

画像のビット数(8や24など)やチャンネル数(色の数、Lの場合は1、RGBの場合は3など)は画像処理をするときに、画像データを直接参照する場合などに必要になってきます。 jpegファイル(*.jpg)を開いたときには bits という値が拾...
matplotlib

matplotlibで画像データ(OpenCV,pillow,list)を表示する

matplotlibを使って画像を表示すると、下図のように画像の画像の座標軸が表示され、右下にはマウスポインタの座標および、その位置の画像の輝度値が表示されるので便利です。 さらに矢印アイコンで、画像の移動、虫眼鏡アイコンで画像の領域を選択...
Python

Pythonのバージョンの確認方法

Pythonのバージョンを確認するには、コマンドプロンプト(ターミナル)からは、 python --version と入力して、確認します。 Pythonのコード中では sysモジュールを使って import sys print(sys.v...
Pillow(PIL)

【Python】画像ビューア(ズーム(拡大/縮小)、移動表示)

Canvasに画像を表示する のページではtkinterでGUIを作り画像ビューアを作りましたが、これに アフィン変換 を追加し、画像の拡大/縮小、移動の出来る画像ビューアを作成しました。 機能は、Fileメニューから画像ファイルを開き、マ...
Pillow(PIL)

【Python/Pillow(PIL)】カラーパレットの設定(インデックスカラー)

PythonのPillowでモノクロ画像ファイルを開くと、Imageクラスの mode は "L" となりますが、これはカラーパレットを持たない画像データとなります。 C言語やC#ではモノクロ画像データを表示するときは、カラーパレットを参照...
tkinter

【Python/tkinter】Scale(トラックバー、スライダー)

つまみを動かして値を調整できる、C#でいうところのトラックバーは、tkiterでは Scale といいます。 以下にサンプルプログラムを示します。 import tkinter as tk class Application(tk.Fram...
Pillow(PIL)

【Python/Pillow(PIL)】画像のヒストグラム取得、表示

Pillowで画像のヒストグラムを取得し、取得した画像データをmatplotlibで表示するには、とても簡単で以下のようにします。 import matplotlib.pyplot as plt # ヒストグラム表示用 from PIL i...
Python

【Python/PyLint】Visual Studioでエラー、警告の確認

Pythonでは、基本的にビルドしないので、実行するまでエラーが分からないのですが、Visual StudioのPythonプロジェクトからPyLintというエラーチェックツールが使えるようになっており、エラー、警告を確認することができます...
Pillow(PIL)

【Python/Pillow(PIL)】対応画像ファイルフォーマット

Pillowで画像ファイルを開くときはopen()関数、保存はsave()関数を使って from PIL import Image # PIL.Imageで画像を開く img = Image.open("./Mandrill.bmp") #...
Pillow(PIL)

【Python/Pillow(PIL)】transformメソッドで射影変換(ホモグラフィ変換)

transform()メソッドでアフィン変換を行う方法はここ↓で紹介しました。 このページでも説明しているように method に PIL.Image.PERSPECTIVE を指定し、data の部分にホモグラフィ変換行列を指定すれば、射...
Pillow(PIL)

【Python/Pillow(PIL)】transformメソッドでアフィン変換

「Python アフィン変換」と検索すると、OpenCVを使った説明が多いような気がしますが、画像を表示するだけなら、Pillowにtransform()メソッドというのがあり、これもなかなか高機能な処理が可能になります。 Pillowなら...
NumPy

【Python/NumPy】座標からホモグラフィ変換行列を求める方法

アフィン変換では長方形を平行四辺形には変換できるものの、台形には変換できないと説明しましたが、任意四角形から任意四角形へ変換できるのがホモグラフィ変換となります。 実際には書類や名刺のような長方形の被写体を斜めから撮影した時に、上から撮影し...
NumPy

【Python/NumPy】座標からアフィン変換行列を求める方法

アフィン変換行列は、これまで移動量、スケール、回転角度からアフィン変換行列を求める方法を紹介してきました。 ただ、実際にはアフィン変換前の点とアフィン変換後の点の組み合わせからアフィン変換行列を求めたい場合もあるので、今回はその方法を紹介し...
tkinter

【Python/tkinter】Canvasに画像を表示する

まず、Canvasを作成し、画像ファイルを開き、Canvasに画像を表示するサンプルは以下のようになります。 import tkinter as tk from PIL import ImageTk class Application(tk...
Python

Visual StudioのPython環境の切り替え変更

Pythonはインストールした環境ごとに使用できるバージョンやモジュール(パッケージ)を切り替えることができます。 Visual Studioでは、AnacondaやPythonのインストーラなどでインストールした環境の一覧が表示されていま...