如何访问Picasa(桌面版)数据库?

23

有没有办法读取Picasa数据库?

Picasa数据库的格式是什么?

是否有API可以访问该数据库?


请参见:http://sbktech.blogspot.co.uk/2011/12/picasa-pmp-format.html - kenorb
5个回答

24

在Picasa 3中,内部数据库存储在一组文件中,与.db文件一起位于Picasa应用程序数据的标准位置之一。例如,在Mac上,它位于$HOME/Library/Application Support/Google/Picasa3/db3下。

令人困惑的是,.db文件不包含数据库,它们只是容器,保存各种图像组的缩略图预览。它们采用标准Windows thumbs.db格式,此答案提供了更多信息。

.pmp文件包含数据库,并采用非标准格式。每个表格都有一组文件,每个字段一个文件。给定表的文件名共享相同的前缀。例如,catdata表中的数据来自以下文件集:

$ ls -1 catdata_*
catdata_0
catdata_catpri.pmp
catdata_name.pmp
catdata_state.pmp

这个文件有三个字段,分别是catprinamestate。我在博客中撰写了一些关于Picasa 3.9.0.522版本的这些文件格式的部分注释,以及一个小的Java程序,尽可能地将我所理解的数据输出。


8

3

在我看来,似乎并没有“数据库”这样的东西。

有一个文件列出了Picasa“监视”的文件夹,对于Vista来说,它在以下位置:

C:\Users\<myaccount>\AppData\Local\Google\Picasa2Albums\ 

在XP中
C:\Documents and Settings\<myaccount>\Local Settings\application data\google\Picasa2Albums\

在被监视的文件夹中,有存储一些数据的 .picasa.inipicasa.ini 文件。所有这些文件都是可读的,因此应该很容易解析。任何现代图像库都应该能够解析 IPTC 数据(在 Python 中尝试 "from PIL import IptcImagePlugin")。更多信息Picasa 中标签等的存储方式

2
在数据库文件夹中(对于Windows 7:C:\Users\User\AppData\Local\Google\Picasa2\db3),有一些pmp文件,代表以下表格:
  • albumdata,包含一些元数据的相册列表(文件夹和人脸)
  • catdata,分类列表
  • imagedata,Picasa索引的图像列表,包含很多有趣的信息,如宽度、高度、人脸相册、标签等,但没有实际文件名
每个pmp文件都包含一个表格的一列所有数据。文件名遵循模式table_*column*.pmp。文件本身采用二进制格式。
然后,图片的文件名(或文件夹的路径)在名为thumbindex.db的文件中,该文件是二进制的,并且与pmp文件不同。
2种二进制格式的详细说明:如何读取Picasa 3.9数据库并提取人脸数据

1

\Documents and Settings\xxx\Local Settings\Application Data\Google\Picasa2\db3\中有更多的数据。

thumbs*.db似乎是.jpg图像的串联。

看起来像是一种专有文件格式...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接