我已经将2d数组(arr2d)转换为3d数组(arr3d),并使用下面的代码保存为图像。arr2d是float64类型。为什么保存的图像不是彩色图像
arr3d[:, :, 0] = arr3d[:, :, 1] = arr3d[:, :, 2] = arr2d
arr3d=arr3d*255
im=Image.fromarray(np.maximum(np.minimum(arr3d, 255), 0).astype(np.uint8))
im.save(“sample.png”)
Tags:
该图像不是彩色图像,因为对于每个像素,红色、绿色和蓝色通道具有相同的值
使用
im=Image.fromarray(arr3d)
时:arr3d[:, :, 0]
是红色像素平面李>arr3d[:, :, 1]
是绿色像素平面李>arr3d[:, :, 2]
是蓝色像素平面李>使用
arr3d[:, :, 0] = arr3d[:, :, 1] = arr3d[:, :, 2] = arr2d
时,确保每个像素的红=绿=蓝R=G=B的像素颜色为灰色
我创建了以下代码来复制该问题:
结果-所有像素均为灰色:
使用某些颜色获得结果的示例:
相关问题 更多 >
编程相关推荐