А если не кот, то кто?
lexa - 06/Фев/2019 20:09
Берем grayscale/floating point/32bit изображение.
И сохраняем его из фотошопа как 24 bit/floating point/TIFF:
Фотошоп, конечно, честно предупреждает, что хрен кто прочтет:
И ведь не врет. Открываем результат в IrfanView:
И наслаждаемся.
При этом:
| 5) PhotometricInterpretation = 1 => это Grayscale
| 10) SamplesPerPixel = 1 => одно значение на пиксель
Правда
| 3) BitsPerSample = 24
И это, наверное, и сбивает IrfanView с панталыку, эвристика какая-то срабатывает, раз 24 бита, значит RGB
Comments
А чё! Красиво получилось!
А чё! Красиво получилось!
Почти как кросс процесс ;)
Полярное сияние под кислотой)
Полярное сияние под кислотой)
А я, помнится, долбил
А я, помнится, долбил FastStone, чтобы они поддержали 16 bit Lab TIFF.
Видать, разрабы посмотрели на весь этот зоопарк в формате и сказали «ну, нахер».
LAB будет завтра. Там, смешно
LAB будет завтра. Там, смешно сказать, ICCLAB и CIELAB, два разных формата....
А вот gray/FP/24бита - загадочный формат оказался, фотошоп его пишет, а вот прочесть его пока ничем (ну кроме фотошопа же) не могу. Оно, конечно, честно предупреждает, то не так оно легко.
Таки да, GIMP и Imagine тупо
Таки да, GIMP и Imagine тупо вылетают. XnView неправильно определяет всё: и модель, и битность, в итоге показывает зёбру.
А UPLab — он к ICCLAB?
А UPLab, AFAIK. это кривой
А UPLab, AFAIK. это кривой LAB, надо править профилем до конверсии в RGB. Но RPP вроде сохраняет в нормальном LAB
А еще я вспомнил, что бывают
А еще я вспомнил, что бывают Gray (и RGB) с альфа-каналом :)
Попробуйте этим: https:/
Попробуйте этим: https://alivecolors.com
Ух ты, открывает. С неверной
Ух ты, открывает. С неверной гаммой (профиль встроенный верный есть), но хотя бы читает.
Хм, типа, православный клон
Хм, типа, православный клон фотошопа? Ну хоть подписка недорогая.
Я честно скажу - файл
Я честно скажу - файл проверил и сразу снес обратно.
Но вот то что заявлена обработка на видяхе - повод посмотреть когда-нибудь повнимательнее, я люблю такое.
А что такое FP24 вообще? IEEE
А что такое FP24 вообще? IEEE такого не знает.
А Adobe - теоретически знает.
А Adobe - теоретически знает. 8 бит экспоненты, 16 бит мантиссы (оба со знаками).
Только вот попытка раскодировать по этому знанию - не работает.
Загадочно зачем так вообще...
Загадочно зачем так вообще...
Ну если 16 бит мало, а 32
Ну если 16 бит мало, а 32 много, то вот есть вариант.
Причем, вот в DNG тоже бывает 24 бита и насколько я код оттуда к себе скопипастил, DNG-шные FP24 таки другие, чем фотошоп пишет. Правда DNG всегда (ну все что я видел) с предиктором, а у фотошопных даже без предиктора - хрен пойми что.
Если всерьез приспичит, разберемся (наверное) уж всяко из фотошопа можно один и тот же файл посохранять - и известно какие чиселки ожидать в этом FP24.
FP вообще непонятно зачем
FP вообще непонятно зачем кроме HDR нужен а там свои форматы...
FP - прекрасный формат для
FP - прекрасный формат для хранения линейных данных, потому что внутре у него
неонкалогарифм.А линейные данные - это может быть, к примеру RAW из которого вычтен (усредненный) темновой кадр. Ну или сам такой темновой кадр. Т.е. далеко не только HDR
И тут - 32bit/int - много (но можно, конечно), а FP16 или FP24 в самый раз.
Ну так HDR это и есть
Ну так HDR это и есть линейные данные. А там и FP16 и FP32 и FP64, на выбор, на сколько я помню.
Ну и FP24 это, как по мне, экономия на спичках совсем. FP32 же стандартен.
Ну и в случае HDR: HDR
Ну и в случае HDR: HDR-форматы не предназначены для хранения HDR-raw (т.е. склейки), там нет места тому же балансу белого например. А FP-DNG (а это тот же TIFF, правда как раз 24 бита/FP там отличаются) - очень к месту.
Нужно ли хранить такую
Нужно ли хранить такую склейку? Для меня неочевидно. Это же восстановимый промежуточный формат.
Так не хранить (долго).
Так не хранить (долго). Intermediate между склейщиком и raw-проявщиком.
Ну так 32 бита или все 64,
Ну так 32 бита или все 64, что экономить-то на временном файле? А по-хорошему, вообще через пайп. Но это фатастика, да.
Оно далось.
Оно далось.
Почему-то (вот не вдавался) внутрь DNG SDK и из libtiff - байты вылазиют в разном порядке. Загадка.
вот тут очень смешное:
вот тут очень смешное:
http://chriscox.org/TIFFTN3d1.pdf
Field: SampleFormat
Tag: 339 (153.H)
Type: SHORT
Count: N = SamplesPerPixel
Value: 3 = IEEE Floating point data
Field:BitsPerSample
Tag:258 (102.H)
Type:SHORT
Count:N = SamplesPerPixel
Value:16 or 24
Так IEEE или 16/24? :-)))))
Там, кстати, и формат есть.
Да-да, оно.
Да-да, оно.
И вот тамошний FP24 - не раскодируется как написано.
Весело.
Весело.
Я, правда, схалявил - я взял
Я, правда, схалявил - я взял 24-битный декодер из DNG SDK, не сам писал.
Так вот, и при попытке применить предиктор, и без нее - чушь вылазит.
Остается конечно вариант, что внутри libtiff (ошибочно) применен какой-то предиктор, либо byteswapped.