Mon*_*eck 6 python python-imaging-library channels
我有一个有一个频道的图像.我想复制这一个频道,以便我可以获得一个具有相同频道的新图像,只复制三次.基本上,制作准RBG图像.
我看到一些关于如何使用OpenCV执行此操作的信息,但不是在PIL中.在Numpy看起来很容易,但PIL也是如此.我不想养成从图书馆一直跳到图书馆的习惯.
这是一种无需过多查看文档的方法。
假图像:
im = Image.new('P', (16,4), 127)
Run Code Online (Sandbox Code Playgroud)
获取单波段图像的(像素)大小;创建一个相同大小的新 3 波段图像;用于zip从原始图像创建像素元组;将其放入新图像中..
w, h = im.size
ima = Image.new('RGB', (w,h))
data = zip(im.getdata(), im.getdata(), im.getdata())
ima.putdata(list(data))
Run Code Online (Sandbox Code Playgroud)
甚至有可能
new = im.convert(mode='RGB')
Run Code Online (Sandbox Code Playgroud)
只需使用:
image = Image.open(image_info.path).convert("RGB")
Run Code Online (Sandbox Code Playgroud)
可以将1通道和4通道转换为3通道