Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Keras ImageDataGenerator中应用OpenCV colormap转换?_Python_Opencv_Machine Learning_Keras_Conv Neural Network - Fatal编程技术网

Python 如何在Keras ImageDataGenerator中应用OpenCV colormap转换?

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

我想在所有列车图像中应用OpenCV colormap过滤器,但我使用的是flow_from_directory方法,如下所示:

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转换)列车生成器=列车数据源。来自列车目录的流量?是否相同?