我有一些卫星图像,我想将它们转换为常规RGB图像。卫星图像在(B,G,R,IR(范围内。我想将它们转换为(RGB图像(。目前,我正在做以下操作:
img1 = img[ :, :, :-1].copy()
img1 = img1*255.0/img1.max()
img2 = np.zeros(np.shape(img1))
img2[:,:,0] = img1[:,:,2]
img2[:,:,1] = img1[:,:,1]
img2[:,:,2] = img1[:,:,0]
img2 = img2.astype(np.uint8)
上面的代码看起来很丑陋。我想知道这样做是否有一些整洁的技巧。某种形式的hstack
,vstack
等,或某种形式的智能转置...
对于img1
,我建议将其保留,因为从性能的角度和代码紧凑型都是。
对于img2
创建,我们正在使用第三个轴作为基本沿其基本翻转的颜色维度的工作,因此我们可以像这样缩短它 -
img2 = img1[:,:,::-1].astype(np.uint8)