Конференция Призма » Фотография » Обработка фотографий » Float vs integer

Страниц (1): [1]
 

1. e573 - 15 Апреля, 2014 - 17:25:20 - перейти к сообщению
Хотелось бы услышать мнения вот по какому вопросу.

Кроме Photoshop ACR, LR и т.д., в последнее время появляются RAW конвертеры, которые используют арифметику с плавающей точкой (вместо целочисленной, как, например, в Ps-почему он в 8 бит и работает достаточно быстро)-
http://www.raw-photo-processor.c...PP/Overview.html ,
http://rawtherapee.com/ (v4), Photivo, частично DXO и LightZone.

В переводе руководства к RT v4 сказано:
RawTherapee 4, вероятно, единственный raw-конвертер реального времени выполняющий операции с изображением в высокоточном 32-битном представлении чисел с плавающей запятой (в противоположность к 16-битному целочисленному представлению в большинстве других конвертеров, подобно DCRAW и RawTherapee до версии 3.0).
Классические конвертеры работают с 16-битными целыми числами. Иными словами, пиксель одного цвета имеет величину от 0 до 65536 (для увеличения точности конвертеры обычно
расширяют диапазон 12-14-битных значений, полученных с камеры, до 16 бит). У этих чисел нет дробной части, например, между 102 и 103 нет других значений. В противоположность этому, числа с плавающей запятой содержат намного бóльший диапазон с точностью 6-7 значащих цифр. Это особенно помогает в светах, где могут быть восстановлены данные. Это также оказывается полезным в промежуточных цепочках вычислений пере- и недоэкспонированных снимков без потери информации. Дробные значения также помогают избежать постеризации на
плавных цветовых переходах.

Есть ли у кого РЕАЛЬНЫЕ фотографии (а не тестовые, как на http://www.libraw.org/articles/f...stina-lente.html ), которые доказывают, что арифметика с плав. точкой в самом деле лучше целочисленной, или же целочисленной арифметики в большинстве случаев достаточно для обработки фотографий, (если использовать 16 бит вместо 8)?

Поясняющий пример:
Уменьшаем яркость в 2 раза:
5/2=2.5 арифметика с плав. точкой
7/2=3 целочисленная арифметика, ошибка (3-2.5)/2.5*100=20%
2. Anton - 15 Апреля, 2014 - 18:22:27 - перейти к сообщению
Ещё к конвертерам работающим с действительными числами следует отнести RPP. Собственно говоря, я знаю его как первый конвертер, который это делал.
С точки зрения программирования легче работать в действительных числах, чем в целых. Достаточно объявить такую переменную и можно забыть о деталях её функционирования. Арифметика в целых числах гораздо сложнее. Но и быстрее. Такими образом, если стремиться к скорости, то надо работать в целых числах. Разрядности их во всех случаях хватит, так как современные процессоры работают с 32-битным целым числом. Даже, если объявить меньшую разрядность, то процессор всё равно будет ворочить 32-битные числа. Вопрос только в том, насколько нужно это быстродействие, стоит ли оно сопутствующего геморроя? Будучи перфекционистом, я всегда отстаивал оптимизированную работу с целыми числами, но побеседовав с хорошими современными программистами, должен согласиться с ними: в современных компьютерах можно смело переходить на действительные числа. Замедления заметно не будет, а облегчение работы - несомненно.
Насчёт точности работы в целых числах, не нужно в ней сомневаться. Ведь в компьютере нет настоящих действительных чисел Улыбка Там только целые Улыбка Всё зависит от того, как именно организована арифметика. Если правильно, то целочисленная математика даст ту же точность, что и с плавающей точкой... при том же быстродействии Недовольство, огорчение Целочисленная математика даёт выигрыш в быстродействии только в том случае, если она оптимизирована (оптимизировано число разрядов). Проигрыш в точности будет только в том случае, если программист ошибся. Чаще всего целые числа ругает тот программист, который не умеет их готовить Улыбка
Да, Фотошоп работатет не в 8 бит. Это пользователь по недомыслию ему подсовывает джипеги с такой разрядностью. Я же обычно конвертирую RAW в 16-битный тиф (это при условии, что лучшая из моих камер имеет разрядность цвета только 14 бит). Фотошоп писали очень хорошие программисты.
Globe Globe Mask
Число посетителей, Время, Дата

Script Execution time: 0.0774     Gzipped