首页 > 解决方案 > Imread 函数只为某些图像生成粒状噪声图像。灰度

问题描述

io.imread 无法正确读取灰度 jpg 图像文件。生成只有灰色噪声的图像。

收到此错误:“图像数据范围低;显示对比度拉伸的图像。”

我有一堆 20 张几乎相同的图像,尺寸相同,1024 x 1280。有些显示正常,但有些只是灰色噪声。我尝试了几个读取插件并得到相同的结果。

image = io.imread('Image_00019.jpg')  
plt.imshow(image, cmap='gray')

预期:图像正常显示。
实际:显示的图像只是灰色噪声。

标签: python-3.xgrayscaleimread

解决方案


看起来它与颜色图的自动缩放有关。显然,解决方案涉及将 vmin 和 vmax 参数设置为原始图像的比例,而不是默认使用的 imread 读取的数组的比例。

不幸的是,imread 函数无法从原始图像文件中确定真实比例,并将该信息自动传递给 imshow。但我认为这是一种无关紧要的附加信息,因为 imread 只是严格捕获像素阵列。这不是图像显示失真的常见原因吗?

如果有人有任何其他意见,请随时添加。

matplotlib 中的低对比度图像(对比度拉伸)问题


推荐阅读