Python 如何在Keras ImageDataGenerator中应用OpenCV colormap转换?
我想在所有列车图像中应用OpenCV colormap过滤器,但我使用的是flow_from_directory方法,如下所示:Python 如何在Keras ImageDataGenerator中应用OpenCV colormap转换?,python,opencv,machine-learning,keras,conv-neural-network,Python,Opencv,Machine Learning,Keras,Conv Neural Network,我想在所有列车图像中应用OpenCV colormap过滤器,但我使用的是flow_from_directory方法,如下所示: train_datagen=ImageDataGenerator() 列车生成器=来自列车目录(列车目录, 目标_大小=(224224), 批次尺寸=50, class_mode='binary') 在这种情况下,如何添加颜色映射?您可以将预处理函数传递给ImageDataGenerator def cmap_transf(image): return cv
train_datagen=ImageDataGenerator()
列车生成器=来自列车目录(列车目录,
目标_大小=(224224),
批次尺寸=50,
class_mode='binary')
在这种情况下,如何添加颜色映射?您可以将预处理函数传递给
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\u datagen=ImageDataGenerator(preprocessing\u function=cmap\u transf)train\u generator=train\u datagen.flow\u from\u directory
?我不明白你写的问题train\u generator=ImageDataGenerator(preprocessing\u function=cmap\u transf)
我能写train\u datagen=ImageDataGenerator吗(预处理函数=cmap转换)列车生成器=列车数据源。来自列车目录的流量?是否相同?