Я пытаюсь импортировать профили объективов Adobe в Lensfun (для использования с darktable). Я использую darktable 2:2.6.2-1 на Arch Linux, установленном через pacman, что привело к падению LensFun 0.3.2-7. (Я не использую пакеты darktable-git или Lensfun-git). Таким образом, скрипт LensFun-Convert-lcp не входит в мою установку. Я отдельно клонировал Lensfun из github, и запуск его с профилями конвертера Adobe DNG успешно генерирует _lcps.xml. Однако в корневом узле этого файла я вижу
<lensdatabase version="2">
Я запустил Lensfun-update-data, и база данных в файлах /var/lib/lensfun-updates/version_1/*.xml
<lensdatabase version="1">
Глядя на некоторые атрибуты, схемы разные. например, искажение имеет k1, k2, k3 в одном и a, b, c в другом.
Мне было интересно, как я могу загрузить эти профили в darktable.
===========================================
Итак, вот что я пробовал до сих пор:
Есть ли способ заставить darktable (не darktable-git) использовать Lensfun-git? Или для Lensfun подобрать базы данных v2, когда Lensfun.get_database_version() возвращает 1?
В сценарии 1 (lensfun-git + darktable non-git) запуск darktable из командной строки дает мне:
[iop_load_module] failed to open operation `lens': liblensfun.so.1: cannot open shared object file: No such file or directory
Я создал симлинк отсутствующего файла на liblensfun.so.2, и darktable все нормально подхватил. Шаги в комментарии ниже.
Для профилей Adobe вам потребуется БД версии 2. Различия, однако, невелики: Помимо профилей Adobe, тег <real-focal-length>
стал атрибутом <distortion>
.
Darktable не будет заботиться о том, какую версию БД вы используете. В частности, профили Adobe будут работать с любой версией Darktable, так как он поддерживает API текущего Lensfun.
Итак, что работает для меня:
Я получаю сообщение об отказе в соединении при запуске LensFun-Update-Data, но видя, что обновления происходят нечасто, и что все мои объективы находятся в профилях Adobe, я доволен этим.
асик