我想在 OpenCV Python 中加载和显示 .tif 图像。我使用 cv2.imread(‘1_00001.tif’) 加载图像,然后使用 plt.imshow(img) 显示它,但显示的图像全黑,而不是原来的图像。
我可以使用 PIL 的 Image.open() 和 matplotlib 的 mpimg.imread() 正确加载和显示图像,所以我认为这是一个特定于 cv2 的问题。但是,我也使用相同的 cv2.imread() 函数成功显示了 .jpg 和 .tiff 图像,因此它也可能是特定于 .tif 图像的问题。
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('1_00001.tif')
plt.imshow(img)
我期待一个圆圈的图像,里面有一些模糊的线条,但实际输出只是一个黑色图像。
原文由 Kathy Wu 发布,翻译遵循 CC BY-SA 4.0 许可协议
检查您的图像像素值。
plt.imshow
0-255 的像素值,所以我猜你输入的 PNG 图像的值大于 255,它们都被剪切到 255(黑色)。 通常您需要在将 TIFF 或 PNG 图像 提供给plt.imshow
之前对其进行标准化,所以有趣的是您在某些 tiff 图像上没有看到这个问题。