【发布时间】:2013-05-15 04:27:00
【问题描述】:
有没有办法读取 Picasa 数据库?
Picasa 数据库的格式是什么?
是否有任何 API 可以访问数据库?
【问题讨论】:
有没有办法读取 Picasa 数据库?
Picasa 数据库的格式是什么?
是否有任何 API 可以访问数据库?
【问题讨论】:
至少在 Picasa 3 中,内部数据库存储在一组 .pmp 文件中,这些文件与 .db 文件并列,位于 Picasa 应用程序数据的标准位置之一。例如,在 Mac 上,它位于 $HOME/Library/Application Support/Google/Picasa3/db3
相当令人困惑的是,.db 文件不包含数据库,它们只是保存各种图像组的缩略图预览的容器。它们采用标准 Windows thumbs.db 格式,more information from this answer.
.pmp 文件包含数据库,并且是非标准格式。每个表有一组文件,每个字段一个文件。给定表的文件名共享相同的前缀。例如catdata表中的数据来自这组文件:
$ ls -1 catdata_*
catdata_0
catdata_catpri.pmp
catdata_name.pmp
catdata_state.pmp
其中包含三个字段,catpri、name 和 state。从 Picasa 3.9.0.522 开始,我已经写了 some partial notes in a blog 这些文件的格式,以及一个小型 Java 程序来转储尽可能多的数据。
【讨论】:
您可以尝试使用 exportpicasa 实用程序 (http://sourceforge.net/projects/exportpicasa/) 读取 Picasa 数据库。它是测试版,欢迎提供反馈。
【讨论】:
在我看来,它本身似乎没有“数据库”。
有一个文件列出了 picasa 'watches' 文件夹,对于 vista,它位于
C:\Users\<myaccount>\AppData\Local\Google\Picasa2Albums\
对于 XP 中的
C:\Documents and Settings\<myaccount>\Local Settings\application data\google\Picasa2Albums\
在被监视的文件夹中有.picasa.ini 和picasa.ini 文件存储一些数据。
所有这些文件都是人类可读的,因此它们应该很容易解析。
任何现代图像库都应该能够解析 IPTC 数据(在 python 中尝试“从 PIL 导入 IptcImagePlugin”)
【讨论】:
在数据库文件夹(在 Windows 7 上:C:\Users\User\AppData\Local\Google\Picasa2\db3)中,有一些 pmp 文件代表以下表格:
每个 pmp 文件包含表一列的所有数据。文件名遵循架构 table_*column*.pmp。文件本身是二进制格式。
然后,文件名(用于图片或文件夹的路径)在文件 thumbindex.db 中,该文件是二进制文件,与 pmp 文件不同。
2种二进制格式详解:How to Read Picasa 3.9 Database and extract faces data
【讨论】:
\Documents and Settings\xxx\Local Settings\Application Data\Google\Picasa2\db3\ 中还有更多数据。
thumbs*.db 似乎是 .jpg 图像的串联。
似乎是一种专有文件格式...
【讨论】: