Bonjour,
J'essaie avec la bibilothèque OpenCV (sous python) de combiner 2 bitmaps :
- l'une compte 3 channels R, G et B (shape= (256, 256, 3))
- l'autre est en dégradé de gris (shape=(256, 256))

Elles ressemblent à ceci :
Nom : airplane08.km00000100.jpg
Affichages : 91
Taille : 24,2 Ko
Nom : airplane08.km00000100.canny.jpg
Affichages : 78
Taille : 31,8 Ko

J'arrive bien à splicer chaque bitmap :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
b, g, r = cv.split(img1)
x = cv.split(img2)
J'arrive aussi à créer l'image finale pour 3 canaux:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
blend2 = np.ones((b.shape[0], b.shape[1], 3), np.uint8)
blend2[:, :, 0] = b
blend2[:, :, 1] = g
blend2[:, :, 2] = r
cv.imwrite(exePath+"\\blend2.bmp", blend2)
En revanche, si j'ajoute le channel de ma seconde bitmap comme 4ème channel de ma nouvelle bitmap, ça plante avec l'erreur suivante :
ValueError: setting an array element with a sequence. The requested array would exceed the maximum number of dimension of 2.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
blend2 = np.ones((b.shape[0], b.shape[1], 4), np.uint8)
blend2[:, :, 0] = b
blend2[:, :, 1] = g
blend2[:, :, 2] = r
blend2[:, :, 3] = bk
J'ai cherché sur internet sans trouver un exemple qui se rapproche du mien.
Quelqu'un a une idée SVP ?

Merci !