python-3.x - Imread 函数只为某些图像生成粒状噪声图像。灰度
问题描述
io.imread 无法正确读取灰度 jpg 图像文件。生成只有灰色噪声的图像。
收到此错误:“图像数据范围低;显示对比度拉伸的图像。”
我有一堆 20 张几乎相同的图像,尺寸相同,1024 x 1280。有些显示正常,但有些只是灰色噪声。我尝试了几个读取插件并得到相同的结果。
image = io.imread('Image_00019.jpg')
plt.imshow(image, cmap='gray')
预期:图像正常显示。
实际:显示的图像只是灰色噪声。
解决方案
看起来它与颜色图的自动缩放有关。显然,解决方案涉及将 vmin 和 vmax 参数设置为原始图像的比例,而不是默认使用的 imread 读取的数组的比例。
不幸的是,imread 函数无法从原始图像文件中确定真实比例,并将该信息自动传递给 imshow。但我认为这是一种无关紧要的附加信息,因为 imread 只是严格捕获像素阵列。这不是图像显示失真的常见原因吗?
如果有人有任何其他意见,请随时添加。