问题
我在python中使用opencv(cv2)对jpg、png和jpeg、jpg格式的图像进行一些处理。我正在使用“cv2.imwrite”进行测试。从“cv2.imread”读取图像后将图像写入磁盘。我发现图像的一部分被旋转了,有些旋转了 90d,有些旋转了 180d。但大多数图像保持正确的方向。我想不出导致这种旋转的模式。有谁知道更多细节?谢谢!
回答
听起来像一个 EXIF ?? 方向标志:
这意味着当在桌面上查看时图像看起来正确,因为文件信息说“在显示之前将此图像旋转 90d”。如果脚本没有读取 EXIF 信息,它会存储一个不带标志的新图像,因此图像会旋转显示。
但是,根据这个答案,opencv 从 3.1 版开始自动处理这个问题。你的 openCV 版本是最新的吗?
源文章
更新
这个问题中的一个注释指出 exif 数据不能用 openCV 写入。
您还可以使用 exifrad 或 PIL 来获取 exif 数据并在脚本中旋转图像。
|