J'ai pris une image RVB 256x256 et je l'ai convertie en YCbCr,
J'ai créé un code pour importer seulement le canal Y
Voici mon code :
from PIL import Image
import numpy as np
im = Image.open ('test.bmp')
img = im.convert ('YCbCr')
arr_img = np.asarray (img)
arr_img = arr_img [:,:, 0]
img = Image.fromarray (arr_img)
img.show ()
Après avoir fait cela, j'ai créé une image avec le canal Y que je voulais.
J'étais heureux
Mais le problème vient d'ici.
J'ai exécuté ce code
print (np.shape (arr_img))
Ici, ce que je veux est (256, 256, 1).
Cependant, le code ci-dessus produit (256, 256).
J'ai donc changé "arr_img = arr_img [ :,:, 0]" en "arr_img = arr_img [ :, :, :1]".
Cependant, il n'a pas été exécuté en raison d'une erreur.
J'ai transformé l'image RVB en une image avec trois canaux de YCbCr,
Je pensais que ce serait la taille (256, 256, 1) quand j'ai importé seulement le premier canal, "Y".
Comment puis-je obtenir la forme de (256, 256, 1) ?