【发布时间】:2021-06-27 08:33:49
【问题描述】:
我有一张尺寸为 72x96 的图片。 Windows 说它的大小是 72x96。 PIL Image 还说它是 72x96:
from PIL import Image, ImageOps
with Image.open(<path>) as img:
print(img.size) # (72, 96)
print(ImageOps.exif_transpose(img).size) # (72, 96)
但是当我用cv2.imread 或skimage.io.imread 读取图像时,它说图像的形状是(96, 72, 3):
from skimage.io import imread
im0 = imread(<path>)
print(im0.shape) # (96, 72, 3)
这里有什么问题?即使我这样做:
import matplotlib.pyplot as plt
plt.imshow(im0)
它以正确的大小显示图像,但写入的大小看起来是转置的。
【问题讨论】:
-
您可能有一个调色板图像。在这里阅读...stackoverflow.com/a/52307690/2836621
-
谢谢,其实是
RGB -
试试
print(img)
标签: python image python-imaging-library cv2 scikit-image