我想在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)
我希望看到一个内部有几条模糊线条的圆的图像,但实际输出的只是一张黑色图像。
发布于 2020-02-17 02:32:21
检查您的图像像素值。plt.imshow
剪切的像素值从0到255,所以我猜你输入的是一个大于255的PNG图像,它们都被剪切到255(黑色)。Usually you'll want to normalize a TIFF or PNG image,然后将它们提供给plt.imshow
,所以有趣的是,您在一些tiff图像上看不到这个问题。
发布于 2019-07-19 04:20:39
我认为,一些tiff标签在openCV try中无法正常工作
img=cv2.imread("YOURPATH/opencv/samples/data/lena.jpg",cv2.IMREAD_COLOR)
cv2.imwrite("1_00001.tif",img)
img1=cv2.imread("1_00001.tif")
https://stackoverflow.com/questions/57102018
复制相似问题