【问题标题】:How can I Apply OpenCV colormap transformation in Keras ImageDataGenerator?如何在 Keras ImageDataGenerator 中应用 OpenCV 颜色图转换?
【发布时间】:2020-09-12 11:27:58
【问题描述】:

我想在我的所有训练图像中应用 OpenCV 颜色映射过滤器,但我正在使用 flow_from_directory 方法,如下所示:

train_datagen = ImageDataGenerator()

train_generator = train_datagen.flow_from_directory(TRAIN_DIR,
    target_size=(224, 224),
    batch_size=50,
    class_mode='binary')

在这种情况下如何添加颜色图?

【问题讨论】:

    标签: python opencv machine-learning keras conv-neural-network


    【解决方案1】:

    您可以将预处理函数传递给ImageDataGenerator

    def cmap_transf(image):
        return cv2.applyColorMap(image.astype(np.uint8), cv2.COLORMAP_JET)
    
    train_generator = ImageDataGenerator(preprocessing_function=cmap_transf)
    

    完整的工作示例:

    import cv2
    import numpy as np
    from tensorflow.keras.preprocessing.image import ImageDataGenerator
    import os
    import matplotlib.pyplot as plt
    
    os.makedirs('test', exist_ok=True)
    cv2.imwrite('test/img.jpg', np.random.randint(0, 256, (200, 200, 3)))
    
    def cmap_transf(image):
        return cv2.applyColorMap(image.astype(np.uint8), cv2.COLORMAP_JET)
    
    train_generator = ImageDataGenerator(preprocessing_function=cmap_transf)
    
    plt.imshow(next(iter(train_generator.
                         flow_from_directory('.', 
                                             classes=['test'])))[0][0, ...])
    
    os.unlink('test/img.jpg')
    os.rmdir('test')
    

    原文:

    预处理:

    【讨论】:

    • 可以是train_datagen = ImageDataGenerator(preprocessing_function=cmap_transf) train_generator = train_datagen.flow_from_directory 吗?
    • 我不明白你的问题
    • 你写了train_generator = ImageDataGenerator(preprocessing_function=cmap_transf)
    • 我可以写train_datagen = ImageDataGenerator(preprocessing_function=cmap_transf) train_generator = train_datagen.flow_from_directory 吗?
    • 是一样的吗?
    猜你喜欢
    • 1970-01-01
    • 2018-02-26
    • 2020-07-17
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 2020-04-18
    • 2014-06-17
    • 2015-08-09
    相关资源
    最近更新 更多