在 Mac 中使用照片用户可以标记照片中的人物。然后,这些数据会同步到云端,他们可以在 iOS 上的“照片”中执行人脸搜索。元数据的类型似乎是“面部”。是否有可能获得与这些面孔之一相关的所有 Assets ?我想抓取其中包含某个人的所有图像。您可以在 iOS 的照片搜索中执行此操作,因此我希望它也向其他开发者开放。
有人有什么想法吗?
提前致谢。
最佳答案
Apple 发布了一个名为 Photo Kit 的用于访问 Apple Photos 的 SDK。在文档中,您将找到对照片应用程序和照片云的 API 访问。但是,如果您正在寻找 HTTP API,我认为尚未公开发布该 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 - 根据 "Face"元数据获取PHAssets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29396236/