2016-09-27 2 views
1

Je veux la couleur d'un pixel en 3DComment colorer une image en niveaux de gris 3d en python

import numpy as np 
import matplotlib.pyplot as plt 
im = np.random.randint(0, 255, (16, 16)) 
I = np.dstack([im, im, im]) 
x = 5 
y = 5 
I[x, y, :] = [1, 0, 0] 
plt.imshow(I, interpolation='nearest') 
plt.imshow(im, interpolation='nearest', cmap='Greys') 

Ce code est pour 2d mais au lieu des Coordiantes je veux donner la valeur du pixel en niveaux de gris en 3D je veux changer.

Répondre

0
import numpy as np 
import matplotlib.pyplot as plt 
np.random.seed(4) 
im = np.random.randint(0, 255, (16, 16)) 
I = np.dstack([im, im, im]) 
I[np.logical_and(np.logical_and(I[:, :, 0]==15, I[:, :, 1]==15), I[:, :, 2]==15)] = [0, 1, 0] 
plt.figure() 
plt.imshow(I, interpolation='nearest') 
plt.figure() 
plt.imshow(im, interpolation='nearest', cmap='Greys') 
plt.show() 
+0

merci, mais cela est pour les images 2D que je veux le faire pour 3d –

+0

ok, voir ma réponse modifiée. –