ホームページ >バックエンド開発 >Python チュートリアル >指定したフォルダー内のすべての画像を読み取る Python メソッド

指定したフォルダー内のすべての画像を読み取る Python メソッド

不言
不言オリジナル
2018-04-27 11:18:317002ブラウズ

以下は、指定したフォルダー内のすべての画像を読み取るための Python メソッドです。非常に参考になるので、皆さんのお役に立てれば幸いです。一緒に見てみましょう

(1) データの準備

データセットの紹介:

このデータセットには、756 個のネガティブ サンプル (画像名は 0.1 ~ 0.756) と 458 個のポジティブ サンプルを含む 1223 個の画像が保存されています。 (イメージ名は 1.1~1.458)、「.」の前のラベルはサンプルのラベル、「.」の後のラベルはサンプルのシリアル番号です

(2) Python を使用してフォルダー内のすべてのイメージを読み取ります

'''
Load the image files form the folder
input:
  imgDir: the direction of the folder
  imgName:the name of the folder
output:
  data:the data of the dataset
  label:the label of the datset
'''
def load_Img(imgDir,imgFoldName):
  imgs = os.listdir(imgDir+imgFoldName)
  imgNum = len(imgs)
  data = np.empty((imgNum,1,12,12),dtype="float32")
  label = np.empty((imgNum,),dtype="uint8")
  for i in range (imgNum):
    img = Image.open(imgDir+imgFoldName+"/"+imgs[i])
    arr = np.asarray(img,dtype="float32")
    data[i,:,:,:] = arr
    label[i] = int(imgs[i].split('.')[0])
  return data,label

ここで取得したデータとラベルはndarrayデータです

data: (1223,1,12,12)

label: (1223,)

注:普通データ型 numpy が提供するデータ型、つまり Python の配列が多次元をサポートしていない欠点を補う N 次元配列です

(3) メソッドの呼び出し

craterDir = "./data/CraterImg/Adjust/"
foldName = "East_CraterAdjust12"
data, label = load_Img(craterDir,foldName)

関連する推奨事項:

Python が CSV ファイルを読み取り、そのファイルをリストに配置する方法の例

Python は、ファイル内の画像のラベルを含む txt ファイルを生成するメソッドを実装します

以上が指定したフォルダー内のすべての画像を読み取る Python メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。