次に、scipyを使用して画像を読み取り、画像サイズを変更します
Second Use Scipy Read Picture
1.scipy.ndimage.imread
scipyのscipy.ndimage.imread()メソッド 1.0.0 で、バージョンにドロップされました 1.2.0 このメソッドは、バージョンのimageio.imreadによって呼び出されます。私のscipyバージョンはまだバージョン0.19.0なので、scipy.ndimage.imreadから直接呼び出します。
このメソッドは、ファイルから画像を配列として読み取るために使用されます。このメソッドは、Python Imaging Library(PIL)ライブラリをインストールした後にのみ使用できます。このメソッドは3つのパラメーターを受け取ります。 fname 、 平らにする 、 モード 。ここで、fnameはファイルパスです。 flatten = True 、次に、画像は単一の灰色のレイヤーに変換されます。画像を読み取る場合、画像を(xdim、ydin、3or4)のような3次元行列に変換することができます。画像はRGB3チャンネルの色で構成できるため、透明度がない場合、最後のビット値は3、透明度がある場合、最後のビット値は4です。これらの3次元マトリックス要素の値の範囲0から255まで。モードについては説明しません。デフォルトは「RGB」モードです。他の値も使用できます。興味がある場合は、ご覧ください。 公式API 、例を見てみましょう:
import pylab import scipy import numpy as np from scipy import ndimage import matplotlib.pyplot as plt dir = './testImgs/' filename = dir + 'la_defense.jpg' image = np.array(ndimage.imread(filename, flatten=False)) print(image.shape) plt.imshow(image) # display image pylab.show()
以下を印刷します:
そして写真を表示します:
これは、上の画像が1181 * 1181ピクセルで構成されていることを意味し、3は透明度のないRGB3チャネルを意味します。画像を読むときにflattenをTrueに設定すると、次の印刷結果が得られます。
表示されている画像は次のとおりです。
現時点では、画像は単なるグレースケール画像であり、各ピクセル値は次のように計算されます。
L=R∗299/1000+G∗587/1000+B∗114/1000 L = R ∗ 299/1000 + G ∗ 587/1000 + B ∗ 114/1000
2.scipy.misc.imresize
scipy.misc.imresize(arr、size、interp = ’bilinear’、mode = None)メソッドには、4つのパラメーターと2つのオプションのパラメーターがあります。画像のサイズ変更、つまりサイズ変更に使用されます。ここで、arrは、サイズ変更が必要な画像に対応する行列です。これは、scipy.ndimage.imread()メソッドによって返される値です。サイズには、int(現在の画像サイズのパーセンテージとして画像を返す)、float(画像サイズを返す)の3つの値を指定できます。 / 現在の画像サイズ)、タプル(画像のサイズを返す必要があります)。ここでは、2つのオプションのパラメーターについては説明しません。 1では、(1181,1181,3)カラー画像を取得しました。これでサイズを調整します。コードは次のとおりです。
import pylab import scipy import numpy as np from scipy import ndimage import matplotlib.pyplot as plt dir = './testImgs/' filename = dir + 'la_defense.jpg' image = np.array(ndimage.imread(filename, flatten=False)) print(image.shape) my_image = scipy.misc.imresize(image, size=(64, 64)) print(my_image.shape) plt.imshow(my_image) pylab.show()
印刷結果は次のとおりです。
画像のサイズが64 * 64ピクセルになり、サイズ変更された画像が次のように表示されていることがわかります。
かなりぼやけてしまいましたか?さて、写真を読んだり、写真のサイズを変更したりするのはこれだけです。皆さんのお役に立てば幸いです。