Bug 54562 - vips linear изменяет глубину каналов tiff на 16 бит
Summary: vips linear изменяет глубину каналов tiff на 16 бит
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: vips (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Konstantin A Lepikhov (L.A. Kostis)
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-30 14:48 MSK by Владислав Петрухин
Modified: 2025-06-20 00:25 MSK (History)
4 users (show)

See Also:


Attachments
Пример изображения (3.12 MB, image/tiff)
2025-05-30 14:48 MSK, Владислав Петрухин
no flags Details
сравнение глубины изображений (7.65 KB, text/plain)
2025-05-30 14:48 MSK, Владислав Петрухин
no flags Details
Попытка открыть файл после увеличения яркости (25.69 KB, image/png)
2025-05-30 14:49 MSK, Владислав Петрухин
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Владислав Петрухин 2025-05-30 14:48:31 MSK
Created attachment 18644 [details]
Пример изображения

Стенды:
Alt Workstation K 11.0 x86_64 (обновленный до Sisyphus)
Alt Workstation 11.0 x86_64 (обновленный до Sisyphus)

Версия: vips-8.16.1-alt1.x86_64

Шаги:
1. # apt-get install vips
2. Загрузить изображение tiff (пример изображения прикрепляю).
3. Выполнить (для увеличения яркости):
$ vips linear file.tiff output_brightened.tiff 1, 10
4. Открыть output_brightened.tiff встроенной программой для просмотра изображений (например, GwenView). 

Ожидаемый результат: успешное открытие изображения.
Реальный результат: изображение не открывается.


Исследование ошибки:

vips linear изменяет глубину каналов с 8 бит до 16 бит. Это можно проверить при помощи команды "$ identify -verbose output_brightened.tiff" (нужно установить пакет ImageMagick). По этой причине не удается открыть файл.
  
Выполнение команды
$  vips cast output_brightened.tiff output_fixed.tiff uchar
преобразует глубину каналов к 8 битам. После этого файл output_fixed.tiff успешно открывается (яркость применилась).

При выполнении аналогичной операции с другими форматами такого не происходит.
Comment 1 Владислав Петрухин 2025-05-30 14:48:48 MSK
Created attachment 18645 [details]
сравнение глубины изображений
Comment 2 Владислав Петрухин 2025-05-30 14:49:27 MSK
Created attachment 18646 [details]
Попытка открыть файл после увеличения яркости
Comment 3 Konstantin A Lepikhov (L.A. Kostis) 2025-06-20 00:25:22 MSK
❯ vips linear
calculate (a * in + b)
usage:
   linear in out a b [--option-name option-value ...]
where:
   in           - Input image, input VipsImage
   out          - Output image, output VipsImage
   a            - Multiply by this, input VipsArrayDouble
   b            - Add this, input VipsArrayDouble
optional arguments:
   uchar        - Output should be uchar, input gboolean
                        default: false
operation flags: sequential 

❯ vips linear file.tiff output_brightened.tiff 1.10 --uchar 1

❯ gthumb output_brightened.tiff

(изображение открывается)

Думаю, вам нужен параметр uchar (который выключен по-умолчанию).