我有一个灰度图像作为具有以下属性的numpy数组
shape = ( 3524, 3022), dtype = float32, min = 0.0, max = 1068.16
绘制为plt.imshow( gray, cmap = 'gray, vmin = 0, vmax = 80)
的灰色图像看起来像,
并且我想将其转换为RGB。我尝试了几种方法,例如np.stack,cv2.merge,cv2.color创建3D np.zeros图像,并将灰度图像分配给每个通道。当我绘制3D图像时,我得到的是[[非常暗的图像,根本看不到“斑点”。我也尝试过将其范围转换为[0,1]或[0,255]范围,无法使用。
使用np.stackplt.imshow( np.stack(( new,)*3, axis = 2))
,我明白了,我该怎么办?预先感谢!
vmin=0,vmax=80
传递到plt.imshow
,您基本上可以裁剪图像并重新缩放。因此,您可以这样做:gray_normalized = gray.clip(0,80)/80 * 255
# stack:
rgb = np.stack([gray_normalized]*3, axis=2)
cv2.imwrite('output.png', gray_normalized)