【发布时间】:2023-03-16 10:59:02
【问题描述】:
我刚开始学习 Keras API,并且正在试验 MNIST 数据集。我让它正常工作,但是当我尝试测试我拍摄的照片时,函数 load_img() from the keras.preprocessing.image 库出现问题。它将纵向图像导入为横向图像。我用智能手机以纵向模式拍摄了照片,Windows 正确显示宽度 3024 和高度 4032 像素。
当我加载该图像并打印宽度和高度时,它显示为 4032x3024。另外,当我做img.show() 时,它似乎已经逆时针旋转了 90 度。所有这一切都在加载后立即发生,无需任何处理。我尝试查看 load_img() 的 API,但找不到任何使其在加载时旋转的参数。
这是一个向您展示问题的虚拟示例:
from keras.preprocessing.image import load_img
img = load_img('filepath/test.jpg') # Load portrait mode image Windows says 3024x4032
width, height = img.size
print(width, height) # Prints 4032 3024
img.show() # Shows it rotated by 90 degrees counterclockwise
我希望它以纵向模式导入。为什么会旋转?问题是在横向模式下拍摄的照片也被导入为 4032 x 3024,所以我无法区分这两个方向。如果图像处于纵向模式,我希望能够旋转图像,但如果处于横向模式,则不能旋转它。
编辑:我只是尝试用 Pillow 加载图像,结果完全相同
【问题讨论】:
标签: python python-3.x tensorflow image-processing keras