相关疑难解决方法(0)

109
推荐指数
8
解决办法
13万
查看次数

Python:从图像中删除Exif信息

为了减少网站中使用的图像尺寸,我将质量降低到80-85%.这在很大程度上减小了图像尺寸.

为了在不影响质量的情况下进一步缩小尺寸,我的朋友指出,来自相机的原始图像有很多称为Exif信息的元数据.由于无需为网站中的图像保留此Exif信息,我们可以将其删除.这将进一步减小3-10 kB的大小.

但我无法在我的Python代码中找到合适的库来执行此操作.我浏览了相关问题并尝试了一些方法:

原始图片:http://mdb.ibcdn.com/8snmhp4sjd75vdr27gbadolc003i.jpg

  1. Mogrify

    /usr/local/bin/mogrify -strip filename
    
    Run Code Online (Sandbox Code Playgroud)

    结果:http://s23.postimg.org/aeaw5x7ez/8snmhp4sjd75vdr27gbadolc003i_mogrify.jpg 此方法将大小从105 kB缩小到99.6 kB,但也改变了颜色质量.

  2. EXIF工具

    exiftool -all= filename
    
    Run Code Online (Sandbox Code Playgroud)

    结果:http://s22.postimg.org/aiq99o775/8snmhp4sjd75vdr27gbadolc003i_exiftool.jpg 此方法将大小从105 kB减小到72.7 kB,但也改变了颜色质量.

  3. 这个答案详细解释了如何操作Exif信息,但我如何使用它来删除信息?

任何人都可以帮我删除所有额外的元数据,而无需更改图像的颜色,尺寸和其他属性?

python exif image-processing python-imaging-library exiftool

12
推荐指数
4
解决办法
1万
查看次数

如何使用python从图像中提取元数据?

嗨我正在开发一个程序,将打开一个图像,然后从中提取元数据如何使用python提取元数据?

谢谢

python metadata image extract

11
推荐指数
3
解决办法
2万
查看次数

如何将自定义元数据添加到OpenCV / numpy图像?

我有个问题。

我正在OpenCV中对某些捕获的图像执行一系列操作(调整大小,复制等),但是我想对这些图像设置一些特定的元数据(属性名称也应由我定义),这些操作将保留下来。并可以稍后提取。我没有设置分辨率值或这些操作后会更改的任何其他值。我怎样才能做到这一点?我听说过pyexiv2,但从未见过涉及OpenCV的示例。

提前致谢!

python opencv numpy image-processing python-2.7

8
推荐指数
1
解决办法
5856
查看次数

如何在python中更改图像捕获日期?

由于错误的相机日期设置,我有超过500张图像(png/jpg)有错误的拍摄日期(拍摄日期).我将照片移动到手机和移动画廊,根据"拍摄日期"对照片进行排序.我希望所有照片都按顺序显示.

那么如何使用python脚本更改捕获日期(使用日期)?

python image image-processing

8
推荐指数
3
解决办法
2380
查看次数

Exif阅读库

是否有针对Python 3.x的exif库?似乎我遇到的每个exif库都只适用于Python 2.x. 我不需要任何太花哨的东西.只是阅读价值就足够了.

python exif image python-3.x

7
推荐指数
2
解决办法
5043
查看次数

Python文件创建日期和重命名 - 请求批评

场景:当我拍摄物体时,我会从多个角度拍摄多张图像.乘以我"拍摄"的对象数量,我可以生成大量图像.问题:相机生成标识为"DSCN100001","DSCN100002"等的图像.隐秘.

我整理了一个脚本,它将提示目录规范(Windows),以及"前缀".该脚本读取文件的创建日期和时间,并相应地重命名该文件.前缀将添加到文件名的前面.所以,'DSCN100002.jpg'可以成为"FatMonkey 20110721 17:51:02".时间细节对我来说对于年表来说很重要.

该脚本如下.请告诉我它是否是Pythonic,是否写得不好,当然,是否有更清洁 - 更有效的方法.谢谢.

   import os
   import datetime
   target = raw_input('Enter full directory path: ')
   prefix = raw_input('Enter prefix: ')
   os.chdir(target)
   allfiles = os.listdir(target)
   for filename in allfiles:
        t = os.path.getmtime(filename)
        v = datetime.datetime.fromtimestamp(t)
        x = v.strftime('%Y%m%d-%H%M%S')
        os.rename(filename, prefix + x +".jpg")
Run Code Online (Sandbox Code Playgroud)

python rename date file creation

6
推荐指数
1
解决办法
3861
查看次数

如何在Python/Django中获取图像标题

我想知道当你上传图片时 Facebook 和 Flicker 如何获取图片标题。

有两点需要注意。

  1. 图片标题(我们通常称之为名称)
  2. 图片描述.标题(您可以检查图片属性并进入详细信息,然后查看描述标题下的标题,这是隐式且不可见的标题)

当我们将图片上传到Facebook和时Flicker,他们从图像中提取此信息,并设置为标题。

我如何使用 Python / Django / PIL 做到这一点?

找到图像作为示例。下载并检查其属性、详细信息、描述和标题。尝试上传到FacebookFlicker,他们会提取此信息。


编辑

这是显示我正在尝试的图像。看标题字段已填充,Facebook 正在提取此信息,但不是 Python 代码。当我也添加主题时?(这是标题下的一个字段),我能够获取图像描述。这是两张图片。

在此输入图像描述

第二张图片。

在此输入图像描述

图片链接

图片一(仅包含标题)图片二(包含标题和主题)

笔记:

当我在记事本中打开文件时,我可以看到那里的描述。

<dc:description> <rdf:Alt> <rdf:li xml:lang="x-default">heeeeeeeeeeeeeeeee</rdf:li> </rdf:Alt> </dc:description> 
Run Code Online (Sandbox Code Playgroud)

python django image python-imaging-library

6
推荐指数
1
解决办法
8019
查看次数

是否可以在Windows上使用Python 3编写EXIF数据?

我有一套(数百个)JPEG文件,我需要装备(WRITE访问)EXIF数据.为此我想使用,python3所以我可以批量处理文件并将其合并到我的数据流中.

我看过Gexiv2,但我还没有找到在Windows中使用它的方法.

这个来自2009年的SO问题是类似的,但我的更具体.

问题:
如何python3在Windows中使用EXIF数据写入多个JPEG文件?

我宁愿不使用商业软件.

python windows exif python-3.x

5
推荐指数
0
解决办法
794
查看次数

如何从图像中获取EXIF或元数据?

我需要一个非常好的库或命令行软件,可用于从图像中提取Exif数据.没有特定的编程语言,除了库或软件必须工作得很好.

我发现了各种用于PHP和Python的库,但是大多数库都没有更新或维护,并且不适用于各种制造商.我浪费了很多时间才找到有用的东西.

有谁知道Flickr使用什么来获取Exif数据?也许这可能会回答问题.

谢谢你的帮助

php python java exif image

3
推荐指数
1
解决办法
3360
查看次数