J'ai une image qui a un canal. Je voudrais dupliquer ce canal afin que je puisse obtenir une nouvelle image qui a le même canal, dupliqué trois fois Fondamentalement, faire une image quasi RBG.
Je vois des informations sur la façon de procéder avec OpenCV, mais pas dans PIL. Cela semble facile dans Numpy, mais encore une fois, PIL est différent. Je ne veux pas prendre l'habitude de passer de bibliothèque en bibliothèque tout le temps.
Voici un moyen de ne pas trop regarder les documents.
fausse image:
im = Image.new('P', (16,4), 127)
Obtenez la taille (en pixels) de l’image à bande unique; créer une nouvelle image 3 bandes de la même taille; utilisez Zip
pour créer des nuplets de pixels à partir de l'original; mettez cela dans la nouvelle image ..
w, h = im.size
ima = Image.new('RGB', (w,h))
data = Zip(im.getdata(), im.getdata(), im.getdata())
ima.putdata(list(data))
Ou même éventuellement
new = im.convert(mode='RGB')
juste utiliser:
image = Image.open(image_info.path).convert("RGB")
peut convertir les canaux 1 canal et 4 canaux en 3 canaux