Python 将彩色图像转换为灰度图像
我正在使用pets数据集。我想把这些图像转换成灰度,但我不知道如何转换,也没有在网上找到很多有用的东西。如果有人能给我指出正确的方向,那么我就能想出如何将它改成单通道图像或灰度图像,那将非常好Python 将彩色图像转换为灰度图像,python,grayscale,fast-ai,Python,Grayscale,Fast Ai,我正在使用pets数据集。我想把这些图像转换成灰度,但我不知道如何转换,也没有在网上找到很多有用的东西。如果有人能给我指出正确的方向,那么我就能想出如何将它改成单通道图像或灰度图像,那将非常好 from fastai.vision.all import * set_seed(333) image_files = get_image_files(path).sorted().shuffle() splitter = RandomSplitter(valid_pct=0.2, seed=42) db
from fastai.vision.all import *
set_seed(333)
image_files = get_image_files(path).sorted().shuffle()
splitter = RandomSplitter(valid_pct=0.2, seed=42)
dblock = DataBlock(blocks = (ImageBlock, CategoryBlock),
get_y = get_y,
splitter = splitter,
item_tfms = Resize(224))
dataloaders = dblock.dataloaders(image_files, batch_size=9, shuffle_fn=lambda idxs: idxs)
batch = dataloaders.train.one_batch()
images, labels = batch
show_image_batch((images, labels))
您可以在数据块中指定图像的类型:
ImageBlock(cls=PILImageBW
from fastai.vision.all import *
set_seed(333)
path = untar_data(URLs.PETS)/"images"
image_files = get_image_files(path)
splitter = RandomSplitter(valid_pct=0.2, seed=42)
dblock = DataBlock(blocks = (ImageBlock(cls=PILImageBW), CategoryBlock),
get_y = lambda x: re.match(r'^(.*)_\d+.jpg$', x.name).groups()[0],
splitter = splitter,
item_tfms = [Resize(224)],
)
dataloaders = dblock.dataloaders(image_files, batch_size=9)
dataloaders.show_batch()
或者,您可以在批处理后将任何转换应用于数据加载程序