注意:我不打算修改EXIF数据!
我正在尝试根据其EXIF数据重新定位图像。如果方向值为3, 6, or 8,我会相应地旋转它。
我现在遇到的问题是,在rotate()
之后,我找回了没有格式的图片,正如文档所说的那样。
im.format ⇒字符串或无
源文件的文件格式。对于库本身创建的图像(通过工厂函数,或通过在现有图像上运行方法),此属性设置为“无”。
因此,我无法在_getexif()
返回的图像上调用rotate()
,因为它不是返回类的成员。如何以编程方式验证 旋转是否正确?
编辑:我注意到图片'exif'
dict中有一个.info
键,但它是一个字节字符串,所以我不知道该如何处理它
答案 0 :(得分:0)
对于90度(顺时针和逆时针)旋转,您可以验证已切换的宽度和高度值。显然这对方形图像没有帮助(照片不太可能)。
对于180度旋转,确认宽度和高度没有变化。此外,您可以采取一些顶行和底行的措施。例如,转换为灰度并计算暗度(或保持颜色并计算蓝色)。允许一些变化,较暗的一面现在应该在另一边。您还可以测量一些左右行。同样,这可以应用于90度旋转。