1

Pythonで一連の画像を開こうとしていますが、どうすればよいか少し戸惑っています。1枚の画像ならわかるけど、数百枚の画像をどう扱えばいいのかわからない。

数百の .jpg 画像を含むファイル フォルダーがあります。それらをPythonプログラムにロードして、機械学習を行いたいです。どうすればこれを適切に行うことができますか?

私はすでにこれに苦労しているので、まだコードはありません。

しかし、疑似コードでの私のアイデアは

dataset = load(images)
do some manipulations on it

以前に行った方法:

from sklearn.svm import LinearSVC
from numpy import genfromtxt,savetxt

load = lambda x: genfromtxt(open(x,"r"),delimiter = ",",dtype = "f8")[1:]
dataset = load("train.csv")
train = [x[1:] for x in dataset]
target = [x[0] for x in dataset]
test = load("test.csv")

linear = LinearSVC()
linear.fit(train,target)

savetxt("digit2.csv",linear.predict(test),delimiter = ",", fmt = "%d")

フォーマットのためにうまくいきました。すべてのデータは 1 つのファイルにありました。

4

2 に答える 2

2

各画像を個別に処理する場合 (PIL または Pillow を使用していると仮定)、順番に処理します。

import os
from glob import glob

try:
    # PIL
    import Image
except ImportError:
    # Pillow
    from PIL import Image

def process_image(img_path):
    print "Processing image: %s" % img_path
    # Open the image
    img = Image.open(img_path)

    # Do your processing here
    print img.info

    # Not strictly necessary, but let's be explicit:
    # Close the image
    del img

images_dir = "/home/user/images"

if __name__ == "__main__":
    # List all JPEG files in your directory
    images_list = glob(os.path.join(images_dir, "*.jpg"))

    for img_filename in images_list:
        img_path = os.path.join(images_dir, img_filename)
        process_image(img_path)
于 2013-10-13T15:38:59.610 に答える