предварительная обработка изображений для модели SVM в Python - PullRequest
0 голосов
/ 10 июля 2019

Я новичок в машинном обучении и пытаюсь создать классификатор изображений SVM, используя python. У меня есть свой собственный набор данных изображений. Я сделал следующие шаги: 1) созданы разные папки для каждого класса (бинарный класс) 2) Импортировал все изображения в мой блокнот Jupyter.

Теперь у меня возникла проблема при создании правильного набора данных, который можно подавать в модель SVM. Я попытался добавить массив изображений и его класс в список под названием набор данных. Но теперь я не могу сгладить изображения как вектор.

Пожалуйста, скажите мне, если мои шаги верны? Если правильно, то что мне делать, чтобы правильно выровнять изображения.

#path to the base dir
base_dir = "/home/khyati/projects/plant_project/try/dataset"

#path of various folders
apple_path = os.path.join(base_dir, "Apple___Apple_scab")
tomato_path = os.path.join(base_dir, "Tomato___Late_blight")

#list of available labels
classes = ["Apple___Apple_scab", "Tomato___Late_blight"]

dataset = []
for category in classes:
    path = os.path.join(base_dir, category)
    for img in os.listdir(path):
        #`enter code here`print(img)
        image = cv2.imread(os.path.join(path,img))
        label =classes.index(category)
        dataset.append([image,label])
print(dataset[1])

Я хочу, чтобы эти данные были в форме, которую можно ввести в классификационную модель.

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Если cv2.imread() возвращает пустой массив, который вы можете использовать image.ravel(), в качестве альтернативы (для общей структуры данных) будет использована цепочка itertools, добавьте этот оператор импорта

from itertools import chain

и чем ты можешь

dataset.append([list(chain(*image),label])

, чтобы получить изображение в виде плоского списка или

dataset.append([np.fromiter(chain(*image),label])

чтобы получить массив numy

0 голосов
/ 10 июля 2019

На этом сайте есть подробное объяснение того, как работать с набором данных изображений для SVM.Взгляните https://medium.com/@dataturks/understanding-svms-for-image-classification-cf4f01232700

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...