为什么cv2.imread和plt.imread读取的一些照片的视图不一样?

Why the view of some photos read by cv2.imread and plt.imread are different?

我有一些无人机拍摄的照片,我发现cv2.imread和plt.imread读取的一些照片的视角不一样,其中一张是颠倒的(180°旋转),但大部分照片都是一样的。

为什么?

与 matplotlib (PIL) 不同,opencv 默认会考虑 EXIF 信息,参见 documentation:

If EXIF information is embedded in the image file, the EXIF orientation will be taken into account and thus the image will be rotated accordingly except if the flags IMREAD_IGNORE_ORIENTATION or IMREAD_UNCHANGED are passed.

(要实现与 PIL 相同的效果,请使用 exif_transpose