当前位置: 首页 > 面试题库 >

在Python中调整图像大小而不会丢失EXIF数据

濮阳俊明
2023-03-14
问题内容

我需要使用Python调整jpg图像的大小,而又不丢失原始图像的EXIF数据(有关拍摄日期,相机型号等的元数据)。所有有关python和图像的google搜索都指向我当前正在使用的PIL库,但似乎无法保留元数据。我到目前为止(使用PIL)的代码是这样的:

img = Image.open('foo.jpg')
width,height = 800,600
if img.size[0] < img.size[1]:
    width,height = height,width

resized_img = img.resize((width, height), Image.ANTIALIAS) # best down-sizing filter
resized_img.save('foo-resized.jpg')

有任何想法吗?还是我可能正在使用的其他库?


问题答案:
import jpeg
jpeg.setExif(jpeg.getExif('foo.jpg'), 'foo-resized.jpg')

http://www.emilas.com/jpeg/



 类似资料:
  • 在我们的应用程序中,用户多年来一直在使用以下代码上传数百万张图像: 最近,我们看到需要保存上传图像的数据。问题在于,压缩位图时图像Exif数据丢失。我考虑使用从原始文件中提取此数据: ..然后将其添加到InputStream 中,然后继续上传文件。问题是< code>ExifInterface无法将Exif数据保存到InputStream。 当Exif数据上传到服务器时,如何将它们保留在图像中?

  • 问题内容: 我正在使用python 3和最新版本的openCV。我正在尝试使用提供的调整大小功能来调整图像大小,但是调整图像大小后会非常失真。代码: 原始图像为480 x 640(RGB,因此我将0传递给它来达到灰度) 有什么办法可以调整大小并避免使用OpenCV或任何其他库造成的失真?我打算制作一个手写数字识别器,并且已经使用MNIST数据训练了我的神经网络,因此我需要图像为28x28。 问题答

  • 所以我有一个非常奇怪的情况。我有两个图标,都是288x288px。但第一个图标在应用程序中显示得比另一个更大。 她是我的xml: css部分:. background{background-图像: url("res://login_bg"); background-重复:无重复;background-大小:封面;background-位置:中心;} 和两个图标: 有人有同样的问题吗?

  • 我有一个尺寸为800x800的图像,其大小为170 kb。我想将此图像调整为600x600。调整大小后,我希望缩小图像大小。我该怎么做?

  • 问题内容: 我正在使用Grails开发网络相册,并且用于图像处理,正在使用grails-image-tools插件。如果上传的图像太大(例如:大于600 * 840),我需要一种功能来调整图像的大小。在这种情况下,我需要将此图像调整为600 * 840)。最有效的方法是什么?非常感谢。 问题答案: