Я пытаюсь обучить классификатор изображений в scikit-learn. У меня есть куча входных изображений, и я использую Pillow для их обработки. Мой вопрос в том, какую форму дать данные подушки для scikit-learn.Как передать данные изображения Pillow в scikit-learn?
Это мой код прямо сейчас:
training = glob.glob('./img/training/*/*.bmp')
data = []
classes = []
for imagefile in training:
edges = Image.open(imagefile).filter(ImageFilter.FIND_EDGES).convert("L")
in_data = np.asarray(edges, dtype=np.uint8)
data.append(in_data[0])
if 'class1' in imagefile:
classes.append('class1')
else:
classes.append('class2')
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(data, classes)
Это работает без ошибок, но я поставил код вместе довольно грубо, и я не уверен, что это правильно.
В частности, я не уверен, должен ли я использовать in_data[0]
. Я просто сделал это, потому что используя in_data
дает мне ошибку: ValueError: Found array with dim 3. Estimator expected <= 2.