Python

Pillow(PIL)

【Python/Pillow(PIL)】JPEG画像の品質を指定して保存する

JPEG画像の保存では、品質を指定することで、画像のファイルサイズが変わります。 品質を良くすると、画像はキレイになりますが、ファイルサイズが大きくなります。 逆に品質を下げると、画像にノイズが乗りますが、ファイルサイズが小さくなります。 ...
Pillow(PIL)

【Python/Pillow(PIL)】画像の上下左右反転、90°ごとの回転

Pillowで画像(画像データ)を画像の上下左右反転、90°ごとの回転をさせるには、Imageクラスのtransposeメソッドを用います。 これとは別にImageOpsモジュールのmirror関数(左右反転)とflip関数(上下反転)があ...
Pillow(PIL)

【Python/Pillow(PIL)】画像の回転

Pillowで画像(画像データ)を拡大/縮小するには、Imageクラスのrotateメソッドを用います。 構文 Image.rotate(angle, resample=0, expand=0, center=None, translate...
Pillow(PIL)

【Python/Pillow(PIL)】画像のリサイズ、補間指定

Pillowで画像(画像データ)を拡大/縮小するには、Imageクラスのresizeメソッドを用います。 構文 Image.resize(size, resample=None, box=None, reducing_gap=None) パ...
Pillow(PIL)

【Python/Pillow(PIL)】画像の一部を切り抜く

Pillowで画像の一部を切り抜くには、Imageクラスのcropメソッドを用います。 書式は Image.crop(box=None) 引数 説明 box 切り抜く領域を(左, 上, 右, 下)の座標のタプルで指定します。 (サンプルプロ...
OpenCV

【OpenCV/Python】imreadで画像ファイルが読み込めないときの対応

opencv-pythonのimreadで画像を開き、以下のようなフィルタ処理を行うプログラムを実行すると、エラーが表示される場合があります。 import cv2 # OpenCVで画像ファイルを開く img = cv2.imread("...
tkinter

【Python/tkinter】図形の編集(削除、移動、変形など)

線や円などの図形の描画のページでは、tkinterでCanvas上に図形を描画しましたが、描画後に図形の移動や移動や変形、削除などを行う事ができ、その方法を紹介します。 ちょうどWordやExcelのように図形を選択し、移動や変形、削除、表...
tkinter

【Python/tkinter】線や円などの図形の描画

前回は、Pillowで線や円などの図形の描画について説明しましたが、今回はtkinterでCanvasウィジェットの上に図形を描画する方法についてです。 前半では、線や矩形、楕円などのメソッドについて説明し、後半にこれらメソッドを用いて下図...
Pillow(PIL)

【Python/Pillow】線や円などの図形の描画

Pythonで線や円などの図形を書く方法としては、OpenCVやtkinterなどを用いても出来ますが、今回はPillowを用いて描画する方法です。tkinterの場合はこちらを参照ください。 Pillowで図形を描画するには、描画先のIm...
Python

【Python】ファイル、ディレクトリの存在確認

ファイル、ディレクトリの存在を確認するには、osモジュールの isfile, isdir, existsを用います。 isfile ファイルの存在の確認 isdir ディレクトリの存在の確認 exists ファイル もしくは ディレクトリの...
matplotlib

【Python】tkinterのGUIにmatplotlibのグラフを表示する

matplotlibを使ってグラフを表示すると、通常は、matplotlib独自のウィンドウで表示されますが、これをtkinterのGUIに組み込んで表示する方法を紹介します。 基本的な処理の流れとしては、matplotlibのFigure...
tkinter

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

tkinterでOpenCVなどの画像データ(numpyのndarray)をCanvasに表示する場合、画像がカラーだと、BGRからRGBに変換し、numpy→Pillow→PhotoImageと変換して、ようやくCanvasに画像を表示し...
matplotlib

【matplotlib】複数グラフの表示

matplotlibで普通に1つのグラフを表示する場合は以下のようにします。 import numpy as np import matplotlib.pyplot as plt # 表示するデータの作成 x = np.arange(-np...
tkinter

【Python/tkinter】ツールバーの作成

tkinterにはToolBarのような、ツールバー用のウィジェットは無いのですが、ツールバーをFrameとButtonを使って作ります。 フレームにアイコン付きのボタンを左側に配置するだけですが。。 (作成したツールバーのイメージ) ファ...
Pillow(PIL)

【Python/Pillow(PIL)】画像データの新規作成

画像データ(PIL.Image)を画像ファイルなどからではなく、新規に作成するには、Imageモジュールのnew関数を使います。 new関数の書式は以下の通り PIL.Image.new(mode, size, color=0) mode ...
Pillow(PIL)

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

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