Python

Pillow(PIL)

【Python/Pillow(PIL)】画像ファイルを開く,保存する

jpegやbmpなどの画像ファイルをPillowで開くには、Imageモジュールのopen関数を使います。 同様に画像をファイルに保存するにはsave関数を用います。 以下に、bmp形式の画像ファイルを開き、画像をカラーからモノクロのグレー...
Python

【Python】enumerate()関数で配列の要素とインデックス番号を取得

Pythonで配列の各要素をfor文で取得する場合は、以下のようにします。 colors = for c in colors: print(c) (実行結果) ここに、インデックス番号付きで各要素をする場合は colors = i = 0 ...
Python

【Python】特殊メソッド

Python以外でクラスを使ったプログラムを作成すると、クラスをインスタンスした時にはコンストラクタが呼ばれ、クラスオブジェクトを解放した時にはデストラクタが呼ばれます。 コンストラクタやデストラクタのように、ある特定の操作をクラスオブジェ...
Python

【Python】変数がNoneかどうか確認する方法

OpenCVで画像ファイルを開く場合では、ファイルがみつからない、日本語パスのためファイルが読み込めないなどのエラーが起きやすいため、画像の変数がNoneかどうかエラーチェックをしたくなります。 そのため、エラーチェックをしたプログラムを書...
tkinter

【Python/tkinter】LabelFrame(ラベルフレーム、グループボックス)

複数のウィジェットをラベル付きの枠線で囲うウィジェットをLabelFrame(ラベルフレーム)と言います。 tkinter以外ではグループボックスなどと言われます。 このラベルフレームは何かの設定値など、共通の目的を持ったウィジェットを一つ...
tkinter

【Python/tkinter】ウィジェットの配置(place)

ウィジェットを配置するには、pack,grid,placeの3つのメソッドがありますが、ここではplaceについて説明します。 placeではウィジェットの位置を座標を指定して配置します。 初期状態では下記のように親(配置先)の左上を原点と...
tkinter

【Python/tkinter】ウィジェットの配置(grid)

ウィジェットを配置するには、pack,grid,placeの3つのメソッドがありますが、ここではgridについて説明します。 gridでウィジェットを配置するのは、どことなくエクセルのセルにウィジェットを配置するようなイメージに似ています。...
tkinter

【Python/tkinter】Label(ラベル)

tkinterでラベルの作成のサンプルを以下に示します。 import tkinter as tk class Application(tk.Frame): def __init__(self, master = None): super(...
OpenCV

【OpenCV/Python】日本語の画像ファイル読込・保存

OpenCVで画像ファイルを開くとき、ファイル名やパスに日本語が含まれていると、画像ファイルを開いてくれません。 試しに以下のようなコードを実行すると、エラーが起き実行できません。 import cv2 # OpenCVで画像ファイルを開く...
Python

【Python】指定フォルダ内のファイル、フォルダ一覧を取得

フォルダに格納された画像ファイルの一覧を取得する場合など、フォルダのパスを指定してファイルの一覧を取得したい場合があります。 その場合に、Pythonでは主に3通りの方法があります。 glob.glob 検索条件を指定してファイル、フォルダ...
Python

【Python】文字列の大文字、小文字変換

文字列を大文字に変換するには upper()メソッド、 文字列を小文字に変換するには lower()メソッドを用います。 このupper()、lower()を使ったサンプルは以下の通りです。 # 元の文字列 str = 'Imaging S...
NumPy

【Python】画像データがNumPyかPillowか調べる方法

Pythonで画像処理をしていると、画像データの型(クラス)は、OpenCVを使っているとNumPyだし、Tkinterで画像を表示しようとすると、Pillowを使ったりもするので、どうしても画像データがNumPyとPillowが混在しがち...
tkinter

【Python/tkinter】OpenCVのカメラ動画をCanvasに表示する

USBカメラなどで取得した画像(動画)をOpenCVの cv2.imshow() で表示するには比較的簡単に表示する事ができますが、tkinterを使ってWindow付でCanvasに表示したい場合には、少しコツが必要になります。 そこで、...
tkinter

【Python/tkinter】新しいウィンドウを開く(モーダル、モードレスダイアログ)

新しくウィンドウを開く場合、モーダルダイアログとモードレスダイアログというものがあります。 モーダルダイアログとは、新しいウィンドウを開いたとき、新しいウィンドウのクリックやテキスト入力などの操作ができるが、元のウィンドウの操作ができない表...
Python

【Python/os】パスからファイル名、拡張子、フォルダ名などを取得する

ファイルパスからファイル名、拡張子、フォルダ名などを取得するには、os.pathモジュールを用います。 まずは、サンプルを参照ください。 import os filepath = r"C:\temp\Image.bmp" # ファイル名 o...
NumPy

【Python/NumPy】カラー画像データをRGBからBGRへ変換

カラー画像データは各データが8bit(0~255の256諧調)のR, G, Bの要素からなる24bitカラー画像や、さらに透過率(A)を追加しR, G, B, Aの要素からなる32bitカラー画像があります。 Pythonでは、このカラー画...