Как изменить изображения keras набора данных?

я хочу создать детектор covid-19 cnn из рентгеновских изображений с помощью keras, и моя входная форма - (224,244,3), но я не знаю, как изменить изображения моего набора данных на этот размер, не могу найти конкретный ресурс для этого, а также я смотрю много YouTube видео все они поставили 3 канала для рентгеновских фото (для входной формы) пока он черно-белый может кто-нибудь объяснить

я использую гугл колаб


person Hichem Om    schedule 31.01.2021    source источник
comment
Насколько я понял, у вас есть изображения размером (224,244,3), поэтому вы хотите преобразовать их в (224,224,3)?   -  person Prakash Dahal    schedule 31.01.2021
comment
нет, у меня есть разные изображения с разными размерами, и моя модель должна быть (224,224,3)   -  person Hichem Om    schedule 31.01.2021
comment
поэтому мне нужно изменить размер всех изображений моего набора данных на (224 224,3)   -  person Hichem Om    schedule 31.01.2021
comment
Я только что опубликовал ответ. Это помогло вам?   -  person Prakash Dahal    schedule 31.01.2021


Ответы (2)


Попробуй это:

Я предполагаю, что ваши изображения набора данных находятся внутри папки images

import pandas as pd
import numpy as np
import os, cv2
for image in os.listdir(os.path.join("images")):
  img = cv2.imread(os.path.join("images",image))
  img = cv2.resize(img, (224,224,3))
  cv2.imwrite(os.path.join("images", image), img)
person Prakash Dahal    schedule 31.01.2021

Попробуй это,

Я предполагаю, что у вас есть изображения с разными формами, теперь, чтобы достичь размера (224,224,3), вам нужно выполнить следующие шаги.

Шаг 1

определить размер формы в переменной

IMG_SHAPE  = 224

Шаг 2

если вы используете метод flow_from_directory, передайте target_size, как показано ниже.

image_gen_train = ImageDataGenerator(rescale = 1./255,rotation_range = 40,width_shift_range=0.2,height_shift_range=0.2,shear_range = 0.2,
                                     zoom_range = 0.2,horizontal_flip = True,fill_mode = 'nearest')
train_data_gen = image_gen_train.flow_from_directory(batch_size = batch_size,
                                                     directory = train_dir,
                                                     shuffle= True,
                                                     target_size = (IMG_SHAPE,IMG_SHAPE),
                                                    class_mode  = "categorical")

Шаг 3

Теперь в сверточном слое архитектуры модели передайте input_shape, как показано ниже.

classifier = tf.keras.Sequential([
        tf.keras.layers.Conv2D(16,(3,3),activation='relu',input_shape=(IMG_SHAPE, IMG_SHAPE, 3)),
        tf.keras.layers.MaxPooling2D(2,2),

        tf.keras.layers.Conv2D(32,(3,3),activation='relu'),
        tf.keras.layers.MaxPooling2D(2,2),

        tf.keras.layers.Conv2D(64,(3,3),activation='relu'),
        tf.keras.layers.MaxPooling2D(2,2),
        
        tf.keras.layers.Conv2D(128,(3,3),activation='relu'),
        tf.keras.layers.MaxPooling2D(2,2),

        tf.keras.layers.Dropout(0.32),
        tf.keras.layers.Flatten(),
        tf.keras.layers.Dense(1024,activation= 'relu'),
        tf.keras.layers.Dense(3, activation = "softmax")  
])
person Muhammad Rizwan Munawar    schedule 01.02.2021