将灰度图像转换为3通道图像

2024-10-01 02:20:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把形状为(height,width)的灰度图像转换成形状为(height,width,nchannels)的三通道图像。这项工作是用for-loop来完成的,但必须有一个简洁的方法。这是程序中的一段代码,有人能给点提示吗。请指教。

 30         if img.shape == (height,width): # if img is grayscale, expand
 31             print "convert 1-channel image to ", nchannels, " image."
 32             new_img = np.zeros((height,width,nchannels))
 33             for ch in range(nchannels):
 34                 for xx in range(height):
 35                     for yy in range(width):
 36                         new_img[xx,yy,ch] = img[xx,yy]
 37             img = new_img

Tags: in图像imageimgnewforifrange