【问题标题】:How to access People album used in Apple's Photos app如何访问苹果照片应用程序中使用的人物相册
【发布时间】:2017-03-18 01:55:08
【问题描述】:

Apple 的照片应用程序具有面部识别功能。我想知道是否存在 API 来访问已被应用分类的照片的相关数据。

(使用 API 标记,不确定是哪些标记。)

谢谢!

【问题讨论】:

  • 在过去的 4 年里,您是否找到了答案? Photo Kit 是否允许访问面部识别部件信息?

标签: ios api ios10 apple-photos


【解决方案1】:

Apple 发布了一个用于访问 Apple 照片的 SDK,名为 Photo Kit。在文档中,您将找到对照片应用程序和照片云的 API 访问。但是,如果您正在寻找一种 HTTP API,我认为尚未公开宣布。

如果您只需要访问照片 MacOS 应用程序上的数据,我建议您深入研究位于照片库数据库目录中的 SQLite photos.db。

/Users/[yourUserName]/Pictures/Photos Library.photoslibrary/database/photos.db

本周末我正在开展一个项目,该项目需要类似的面部数据,并将记录我的进度。这是一个示例 SQLite 查询,您可以使用它来获取所有面孔、照片和相应的人:

SELECT *, RKFace.modelId AS fId
FROM RKFace
JOIN RKMaster ON RKMaster.modelId = RKFace.imageModelId
LEFT JOIN RKFaceGroup ON RKFaceGroup.modelId = RKFace.faceGroupId
LEFT JOIN RKFaceCrop ON RKFaceCrop.faceId = RKFace.imageModelId
LEFT JOIN RKFacePrint ON RKFacePrint.faceId = RKFace.imageModelId
LEFT JOIN RKPerson ON RKPerson.modelId = RKFace.personId;

我希望这会有所帮助。 :-)

【讨论】:

  • 我们如何在 iOS 中做到这一点?
  • 这在 iOS 上是不可能的,因为安全模型不允许您访问 Apple 内部数据。
【解决方案2】:

不幸的是,Adrian 提到的文件 photos.db 已不再包含 2021 年的数据。但是,我发现了一个名为 /Users/[yourUserName]/Pictures/Photos Library.photoslibrary/database/Photos.sqlite 的大文件,看起来很有希望。下面是一个 SQL 查询,它将返回我自己的所有照片作为示例:

SELECT DISTINCT ZPERSON.ZFULLNAME AS FULL_NAME, ZGENERICASSET.ZFILENAME AS FILENAME, ZGENERICASSET.ZDATECREATED + 978307200 AS DATECREATED
FROM ZPERSON
INNER JOIN ZDETECTEDFACE ON ZPERSON.Z_PK=ZDETECTEDFACE.ZPERSON
INNER JOIN ZGENERICASSET ON ZDETECTEDFACE.ZASSET=ZGENERICASSET.Z_PK
WHERE ZPERSON.ZFULLNAME LIKE "Christian%"
ORDER BY ZGENERICASSET.ZDATECREATED DESC

返回的列是FULL_NAMEFILENAMEDATECREATED。结果日期被指定为以秒为单位的 Unix 时间戳,尽管它也可能包含一个分数。例如,1618068987.64944 指的是3:36:27 pm UTC | Saturday, April 10, 2021

作为参考,978307200 是以秒为单位的 Apple 纪元和 Unix 纪元之间的差异。我通过这个表达式在 Python 中得到它:(datetime(2001, 1, 1, 0, 0) - datetime(1970, 1, 1, 0, 0)).total_seconds()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多