Задокументирован ли формат коррекции дисторсии и хроматических аберраций объективов µ4/3?

Камеры Olympus micro 4/3 применяют коррекцию искажений к встроенным в камеру файлам JPEG при использовании объектива micro 4/3. Камеры Panasonic корректируют искажения и хроматические аберрации с помощью объективов.

Хотя я не уверен, где хранится эта информация, поскольку она также работает с программным обеспечением вне камеры, я предполагаю, что она находится в метаданных, прикрепленных к изображениям RAW.

Задокументирован ли этот формат где-либо (либо официально, либо путем реверс-инжиниринга)? Было бы неплохо иметь возможность реализовать эту коррекцию в программном обеспечении с открытым исходным кодом (в частности , Lensfun ) без необходимости калибровать объектив или полагаться на базу данных калибровок.

РЕДАКТИРОВАТЬ : чтобы сделать это совершенно ясным - цель состоит в том, чтобы взять файл RAW с камеры и иметь возможность применить ту же коррекцию, что и JPEG в камере, или которая применяется программным обеспечением Olympus.

Ответы (5)

Кажется, в сообществе Linux существует довольно активное движение Open Source, направленное на создание процессоров необработанных форматов файлов для Linux. Я нашел несколько вики, которые работают над компиляцией сведений о форматах файлов для известных форматов RAW, и есть несколько приложений, которые содержат некоторый код. Некоторые форматы, такие как .CRW и .CR2 от Canon, являются открытыми спецификациями, и вы можете найти подробную информацию в Интернете. Похоже, что формат .ORF (или формат Panasonic .RAW) не открыт, поэтому единственное, что можно почерпнуть, — это реверс-инжиниринг. Я сомневаюсь, что информация, которую вы ищете, содержится в данных EXIF, однако, если она хранится, она должна быть доступна в метаданных формата RAW. Вот некоторые ресурсы:

Большая часть формата файла RAW представляет собой прямой дамп данных датчика, будь то массив Байера, ПЗС или, возможно, многослойная КМОП (например, Foveon). Это позволяет легко обнаружить данные изображения, поскольку они очень структурированы. Интересующие вас данные, вероятно, будут более сложными и случайными, либо сохраненными в начале, либо, возможно, в конце формата файла. В свое время я проделал изрядное количество обратного проектирования форматов файлов и, возможно, смогу распознать для вас некоторую структуру в формате .ORF. (Я работал над редактором для Sim City 4 и Sims 2 несколько лет назад, и вместе с некоторыми другими мы, должно быть, декодировали около 300+ форматов файлов с помощью HEX. Возможно, я смогу дать некоторое представление, если смогу. получить некоторые необработанные файлы .ORF с камеры + объективов, к которым у вас есть доступ.) Ваш лучший выбор,

ОБНОВИТЬ:

Кроме того, похоже, что Adobe выпустила генератор профилей объективов, который может генерировать профили объективов для Lightroom 3/ACR. Они охватывают геометрические искажения, хроматические аберрации и виньетирование. Я знаю, что вы упомянули что-то, что можно использовать с программой Lensfun, но это может быть жизнеспособной альтернативой.

Я взглянул на открытый формат Adobe DNG, и он содержит множество тегов для таких видов коррекции вне камеры. К сожалению, запуск ORF через конвертер Adobe DNG не заполняет эти поля, иначе мне конец! Что касается Adobe Lens Profile Creator, то он может быть интересен как более дружественный (и широко используемый) калибратор + онлайн-репозиторий профилей объективов, но в библиотеке Lensfun уже есть база данных профилей объективов, сгенерированных с помощью Hugin. Моя цель состоит в том, чтобы сделать создание профиля ненужным для объективов µ4/3s, поскольку в них он встроен (где-то!).
Формат профиля объектива для ACR/Lightroom может быть легче взломан, чем необработанный формат файла .ORF. Вы можете попробовать создать несколько профилей для своего объектива и посмотреть, сможете ли вы вместо этого извлечь эту информацию.
Реверс-инжиниринг, конечно, возможен, но вряд ли это ответ на вопрос.
@bronger: На самом деле, он отвечает на вопрос настолько хорошо, насколько это было возможно в то время. ОП запросил документацию и указал, что цель состоит в том, чтобы в конечном итоге реализовать функцию коррекции объектива в OSS. Информация, которую я предоставил, была лучшей информацией, доступной ЧЕТЫРЕ ГОДА назад. Я думаю, что ваш отрицательный голос необоснован, и ваш комментарий не соответствует сути вопроса.
Смысл документации в том, чтобы избежать обратного проектирования.
@bronger: И я цитирую ОП: Is this format documented anywhere (either officially **or through reverse-engineering**)?ОП специально заявил, что обратный инжиниринг был вполне жизнеспособным вариантом, поэтому я до сих пор не понимаю, почему вы приводите свой аргумент, и все еще считаю, что ваш отрицательный голос был необоснованным.
Он попросил документацию, независимо от того, как она была создана. Это отличается от просьбы о помощи в обратном проектировании самого себя.
Я просто хотел отменить отрицательный голос, потому что это слишком резко, но это не позволяет мне.
@bronger: Ты все еще не в курсе. Я связал ЛУЧШУЮ и ЕДИНСТВЕННУЮ информацию, которая была доступна, ПЕРИОД, когда я создал этот ответ. Ссылки, которые я предложил, являются единственной доступной «документацией». Если вы действительно читали мой пост, я прекрасно понимал, что предоставленные мной ссылки были полезны только для того, чтобы ОП самостоятельно реконструировал решение ... НО ЭТО БЫЛО ВСЕ, ЧТО БЫЛО ДОСТУПНО. По крайней мере, я предложил столько, сколько было в человеческих силах в то время, когда был задан вопрос, а не просто не ответил вообще, потому что я не предоставил правильную «документацию» ...
Что касается минуса, мне все равно. Я думаю, что это было необоснованно и неоправданно, я не думаю, что вы на самом деле читали мой ответ в том контексте, в котором он был дан (ни в сроки, которые были четыре года назад), но единственный способ позволить вам отменить его было бы отредактировать мой ответ... а редактировать на самом деле нечего. Я предложил лучшую информацию, которая была на тот момент, и мне не стыдно за это.

По крайней мере, камеры Panasonic хранят информацию о коррекции объектива в необработанных файлах. Некоторые предварительные результаты обратного проектирования соответствующих полей exif можно найти на http://syscall.eu/#pana .

Информация об исправлении искажений хранится в 0x119теге и состоит из 16 16-битных целых чисел, значение которых расшифровано в связанном посте. Информация о хроматических аберрациях хранится в 0x011bметке, которая еще не исследована.

Это также может быть частью рукопожатия корпуса объектива. Однако не уверен, как настольное программное обеспечение узнает эту информацию. Как вы определяете, что стороннее программное обеспечение может выполнять коррекцию?

Я знаю, что у Adobe есть какой-то общедоступный материал для коррекции объектива для Lightroom 3, возможно, вам повезет, если вы реконструируете этот материал.

dpreview.com/articles/distortion/page2.asp дает некоторые подробности. Похоже, что Adobe Camera Raw также получает эту информацию в необработанных файлах.
Обратите внимание, что данные включены в файлы RAW , а не в JPEG. Я думаю, вам не повезло, если вы смотрите на JPEG, так как они уже будут исправлены.

Он не сохраняется в Exif — коррекция автоматически применяется к изображениям в формате Jpeg.
Необработанный формат Olympus содержит простую (4 ?) матрицу параметров для коррекции объектива для обычных объективов - это только для моделей более высокого класса и заполняется только камерами серии Pro.

Корректировки для программного обеспечения Adobe генерируются самими тестирующими объективами Adobe — они не используют значения производителей.

Извините, не знаю про микро 4/3.

Я предполагаю, что в EXIF ​​хранятся только данные объектива, величины коррекции жестко закодированы как в прошивке камеры, так и в программном обеспечении постобработки и не включены в EXIF.

Я думаю, это возможно; это кажется глупым способом сделать это, хотя. В частности, с учетом того, что мой объектив Panasonic корректируется на моем корпусе Olympus E-PL1 (и я считаю, что верно и обратное - объективы Olympus корректируются на корпусах Panasonic). Это потребовало бы обновления как программного обеспечения, так и прошивки каждый раз, когда кто-либо выпускал новый объектив µ4/3.
@RAOF: может не потребоваться обновление прошивки. Можно создать гибкий формат спецификации объектива, который позволяет линзам определять свои искажения, и одна часть программного обеспечения может применять обработку коррекции на основе такой спецификации. По сути, это то, что Adobe Lightroom 3 делает с новыми профилями объектива камеры. Если бы каждый объектив содержал свою спецификацию, вам не нужно было бы обновлять прошивку для каждого объектива ... достаточно присоединить объектив, так как он сообщил бы прошивке, каковы его поправочные коэффициенты.
Правильно - эти поправочные коэффициенты (+ конкретный используемый алгоритм) - это то, что я ищу!