【发布时间】:2020-10-14 13:56:07
【问题描述】:
我正在尝试使用 PIL 打开图像 (.png)。但是,它只显示两种颜色的图像。
原始图像(即 3.24 MB)。由于系统只允许我们上传小于 2MB 的文件,所以我减小了大小:
当我运行 image = Image.open('path/image') 时,它给出了这个:
当我运行相同但使用转换时,image = Image.open('path/image').convert('L')
我明白了:
这是我绘制图像的方式:
fig,ax = plt.subplots()
ax.imshow(image)
ax.grid(False)
我已经尝试了几十张图片。不用找了。我强烈猜测是图像通道引起的问题。函数以某种方式将 3 通道读取为单通道或相反。任何想法如何解决???
编辑:所以我更接近我想要的结果。我首先将 iamge 转换为数组。但这仍然不够。
代码如下:
image = Image.open(df['Path'][0])
image = np.asarray(image)
plt.imshow(image)
【问题讨论】:
-
你是如何绘制图像的?
image.show()? -
已编辑和添加。
-
看这里...stackoverflow.com/a/52307690/2836621 并尝试
ax.imshow( ... cmap='gray') -
已经试过了。它给出了完全相同的结果。
-
np.histogram(image.getdata())长什么样子?
标签: python python-imaging-library rgb