Python

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 tkclass Application(tk.Frame): def __init__(self, master = None): super()....
OpenCV

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【Python/tkinter】Entry(テキストボックス)

tkinterでテキストボックスはEntryと言います。以下に簡単なサンプルを示します。(実行結果)(サンプルプログラム)import tkinter as tkclass Application(tk.Frame): def __init...
Pillow(PIL)

【Python/Pillow(PIL)】画像の輝度値をCSVファイルに保存/読込

画像処理をしていると、画像の輝度値をCSVファイル保存して、輝度値そのものや、輝度値の分布などを見たくなります。Pythonにはcsvモジュールがあり、比較的簡単に画像の輝度値をCSVファイルに保存することができます。輝度値をCSVファイル...
Python

【Python】リスト(配列)の繰り返しの注意点

Pythonのlistで同じ要素を繰り返して書く場合は、リストの掛け算のようにdata_list = * 5print(data_list)とすると、のようにリストの要素を繰り返したリストを取得することができます。ただ、ここで注意したいのが...
Python

【Python】処理時間の計測

処理時間の計測には、timeモジュールのtime()関数 もしくは perf_counter()関数を時間計測する2か所で実行し、取得した値の差を計算することで、処理時間(秒単位)が取得できます。サンプルプログラムimport timepr...
NumPy

【Python】画像データ(NumPy,Pillow(PIL))の相互変換

Pythonで画像処理をしていると、画像データの扱いは各ライブラリによって、NumPyのndarrayかPillowのPIL.Imageのどちらかになる場合が多いかと思います。そこで NumPyとPillowの画像データの相互変換をまとめて...
OpenCV

【OpenCV/Python】adaptiveThresholdの処理アルゴリズム

自動でしきい値を決めて二値化してくれる画像処理と言えば、大津の二値化ですが、OpenCVにはadaptiveThreshold(適応的しきい値処理)という良さげな処理があります。この adaptiveThreshold は画像全体に影や照明...