Как создать похожий набор изображений mnist с формой (12500, 50,50) - PullRequest
0 голосов
/ 16 июня 2019

Как создать подобный набор изображений mnist с формой (12500, 50,50)

У меня есть папка с 12500 изображениями. Я хочу создать набор данных с этими изображениями для работы с сортировкой изображений в керасах. Я хочу сгенерировать набор данных, аналогичный mnist, с формой (12500, 50,50). Я обернулся в создании кода для генерации набора данных. Я пытаюсь создать массив NumPy, но он не получает нужный мне формат. Я считаю, что я должен использовать функцию изменения размера opencv, чтобы оставить все изображения с высотой и шириной с формой 50x50. Благодарен за внимание

import cv2
import glob
import numpy as np

X_data = []
files = glob.glob ("C:/Teste_datasets/PetImages/Cat/*.jpg")

for myFile in files:
    print(myFile)
    image = cv2.imread (myFile, cv2.IMREAD_GRAYSCALE)
    X_data.append (image)

X_data = np.array(X_data)

X_data = X_data.astype('float32') / 255

IMG_SIZE = 50

X_data = cv2.resize(X_data, (IMG_SIZE, IMG_SIZE))

X_data = X_data.reshape((X_data.shape[0], 50, 50,1))

1 Ответ

0 голосов
/ 16 июня 2019

Вы должны изменить размеры изображений вместо всего набора данных:

import cv2
import glob
import numpy as np

X_data = []
files = glob.glob ("C:/Teste_datasets/PetImages/Cat/*.jpg")
IMG_SIZE = 50

for myFile in files:
    print(myFile)
    image = cv2.imread (myFile, cv2.IMREAD_GRAYSCALE)
    image = cv2.resize(image, (IMG_SIZE, IMG_SIZE))
    X_data.append (image)

X_data = np.array(X_data)
X_data = X_data.astype('float32') / 255

print(X_data.shape)
[daniel@daniel-pc Keras]$ python3 testeKeras.py
<...>/2.png
<...>/1.png
(2, 50, 50)

Кроме того, нет никакой причины для reshape, поскольку, поскольку вы загружаете изображение с помощью cv2.IMREAD_GRAYSCALE, у вас уже есть одно значение, представляющее цвет.

...