2016-09-27 48 views
1

我想在3D如何着色Python中的3D灰度图像

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') 

此代码到颜色的像素是2D,但代替coordiantes我想给灰度像素的3D的值我想改变。

回答

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

谢谢,但这是为2d图像我想为它做3d –

+0

好的,请参阅我编辑的答案。 –