AppleScript будет одним из подходов здесь. Поскольку у меня нет времени, чтобы реально реализовать это прямо сейчас, я дам краткое изложение того, что я воображаю, на случай, если вы или кто-то еще здесь захотите это сделать. Или, может быть, есть более простое решение:
Напишите сценарий, который ищет обнаруженные лица без тегов и создает альбом (но не умный альбом, к сожалению) со всеми этими изображениями. Он может удалить старую версию альбома перед началом, так что он ведет себя в основном как умный альбом, за исключением того, что вам потребуется запустить скрипт для его обновления. Может быть возможно настроить его на автоматический запуск по некоторому триггеру.
Чтобы усложнить задачу, iPhoto '09 не предоставляет функцию Faces через библиотеку AppleScript. Поэтому вам придется открыть базу данных sqlite в комплекте библиотеки и прочитать ее вручную. Кто-то уже проделал некоторую работу, связанную с этим, и создал скрипт для взаимодействия с Faces.
Но эти сценарии анализируют лица, которые уже прикреплены к фотографии. Мы заинтересованы в потенциальных матчах. База данных faces.db
sqlite имеет таблицу similar_faces
которой перечислены все неподтвержденные лица, которые она обнаружила. Вы хотите выбрать image_key
для всех строк в этой таблице с ignored = 0
.
Иногда на фотографии указано несколько лиц для одного лица. Эти возможные совпадения показаны на странице для лица ("Джон Доу также может быть на фотографиях ниже"). Если вас интересуют только лица, для которых iPhoto является доверенным лицом, чтобы предложить имя прямо с картинки, выберите только строки из similar_faces
с score
превышающей некоторый порог, 0.80
или что-то еще. Возможно, вам также понадобится найти seed_face_key
в face_name
чтобы убедиться, что он полностью соответствует кому-то, о чем он уже знает, у меня есть только два непомеченных лица для проверки прямо сейчас, поэтому я не уверен.