Глубина цвета 1 бит как сделать в tiff для налога в xnview

Обновлено: 03.07.2024

Цифровые изображения состоят из миллионов пикселей, и каждый пиксель описывает один или несколько цветовых каналов. Для изображений в градациях серого требуется только один канал (значение 0 может представлять чистый черный цвет, 255 может представлять чистый белый цвет, а значения между ними будут представлять оттенки между черным и белым), в то время как цветным изображениям RGB требуются три канала: один описывает красный, один зеленый и один синий. Каждый канал описывает только интенсивность, поэтому в числе, описывающем пиксель из зеленого канала, нет ничего изначально зеленого; цвета получаются в результате взаимодействия между всеми тремя каналами цветовой модели RGB.

Один пиксель может представлять более трех каналов, например, он может содержать информацию об альфа-канале (описывающем прозрачность) или инфракрасном канале (который поддерживают некоторые сканеры).

Чем выше разрядность, тем точнее можно описать цвет, но это требует более длительных вычислений, большего объема ОЗУ и большего объема памяти.

2 бита на что?

Битовая глубина выражается как значение, которое описывает либо количество битов на пиксель (BPP), либо битов на канал (BPC). Очень популярный формат JPEG обычно сохраняет изображения с точностью 8 бит на канал, используя три канала, всего 24 бита на пиксель. Формат TIFF поддерживает различную глубину цвета, например 32 бита на канал, всего 96 бит на пиксель.

Описывая битовую глубину, указывайте, что вы описываете, чтобы не оставлять места для двусмысленности. Например, если кто-то говорит, что у него "32-битное" изображение, означает ли это, что изображение содержит 32 бита на канал или 4 канала по 8 бит на канал?

3 Точность

Какое значение имеет битовая глубина? Чем больше битов доступно для описания цвета, тем точнее вы можете описать этот цвет.

  • Точность 1 бит на канал означает, что для описания значения используется только 1 бит. Бит может быть только 0 или 1, поэтому вы можете представить только два значения, которые обычно означают черный или белый цвет.
  • Точность в 2 бита на канал означает, что для описания цвета доступно два бита. Так как каждый бит может быть 0 или 1, а их два, они могут представлять 4 возможных значения:

Если мы используем 0 для представления черного и 3 для представления белого, есть два дополнительных оттенка серого, которые можно описать.

Цифровые камеры обычно фиксируют свет с точностью 12 или 14 бит (а из-за шума и неточной электроники качество младших битов сомнительно). 16 бит на канал достаточно для большинства нужд фотографии, в том числе для использования в промежуточных файлах (если вы хотите передать изображение из одной программы в другую без потери данных).

4 Гамма-кодирование

5 После RawTherapee

После того как вы настроили фотографию в RawTherapee и готовы к ее сохранению, вам предстоит выбрать формат вывода, битовую глубину для каждого канала, цветовое пространство и гамма-кодирование. Если вы планируете обрабатывать свои фотографии после RawTherapee в программе редактирования изображений с поддержкой 16-бит, лучше сохранять их в 16-битном формате без потерь. RawTherapee может сохранять изображения с 16-битной целочисленной точностью (обозначается как «TIFF (16-бит)» в диалоговом окне «Сохранить»), а также с 16-битной точностью с плавающей запятой (обозначается как «TIFF (16-бит с плавающей запятой)»). Несжатый TIFF с 16-битной целочисленной точностью предлагается в качестве промежуточного формата, поскольку он является самым быстрым для сохранения и широко совместим с другим программным обеспечением. 32-разрядные файлы примерно в два раза больше по размеру и плохо поддерживаются другими программами.

Здравствуйте,
у меня есть цветной многостраничный Tiff, и я хочу сделать многостраничный Tiff в оттенках серого и выполнить некоторую оптимизацию. Я пробую такие команды:

Но единственное, что я получаю, это первая страница моего многостраничного файла Tiff. Как использовать команды, которые все "Настройки" делают для всех сайтов многостраничного тиффа?

Co1m написал: у меня есть цветной многостраничный Tiff, и я хочу сделать многостраничный Tiff в оттенках серого и выполнить некоторую оптимизацию.

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

Для этого потребуется последовательно выполнить три командные строки, но вы можете поместить их все в пакетный файл .bat.

С помощью этой команды вы можете редактировать все страницы в формате TIFF.

Здравствуйте!
Я обнаружил, что это решение работает не во всех случаях. У меня есть папка с x Multipage Tiffs. Я хочу, чтобы они стали «оттенками серого» и маленькими. Но я хочу еще x многостраничных размолвок, а не только одну.
Эта команда редактирует и изменяет размер всех многостраничных TIFF-файлов в ОДИН большой многостраничный TIFF-файл:

Если есть только один файл, все в порядке. НО, у меня есть более одного файла. Есть идеи, как это реализовать?

Co1m написал: У меня есть папка с многостраничными тиффами x. Я хочу, чтобы они стали «оттенками серого» и маленькими.Но я хочу еще x многостраничных размолвок, а не только один.

Я думаю — и в прошлый раз я ошибался по памяти — вам, вероятно, нужно использовать цикл FOR 'DOS' в пакетном файле.

Последние две строки не обязательны. Я просто перемещаю вывод в другую папку и удаляю файлы из входной папки. Я знаю, что есть опция -D, но с ней есть ошибка. Если вы используете -D, NConvert удаляет исходный многостраничный файл Tif после обработки первой страницы.

Этот пакетный файл берет все TIF-файлы из входного каталога, обрабатывает их один за другим (цикл for для каждого tiff-файла) и выводит его в выходной каталог. После этого он берет кучу файлов и перемещает файлы в новый каталог.

Спасибо за публикацию вашего решения: forfiles выглядит интересным вариантом для многократного запуска NConvert для ряда файлов, когда это необходимо, и имеет более простой синтаксис, чем цикл FOR "DOS".

[Предложение] Улучшения действия «Изменить глубину цвета»

[Предложение] Улучшения действия «Изменить глубину цвета»

  • Добавьте больше глубины цвета: 2 цвета и 4 цвета.
  • Добавить позиционное сглаживание
  • Добавьте параметр для сортировки палитры по оттенку и яркости. Цвета будут отсортированы следующим образом:
    • Сначала отсортировано по старшим 4 битам оттенка в порядке возрастания. Это создает группы цветов.
    • Затем отсортируйте каждую группу по светлоте в порядке возрастания

    Вы правы. Пропустил, что "Байер" = "заказал". Извините за это.

    У меня есть еще одно предложение по действию "Изменить глубину цвета":

    - Используйте файл палитры GIMP .gpl для палитры. (примечание: порядок цветов в файле .gpl должен быть сохранен, а неиспользуемые цвета не должны удаляться)

    sd_snatcher написал: ↑ Пт, 21 сентября 2018 г., 20:11. Возможно ли, чтобы GIMP поддерживал палитру .gpl при изменении глубины цвета?

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

    Это позволит преобразовывать изображения, например, в палитру C64 или палитру Atari ST.

    Кроме того, можно легко использовать любую из палитр этого сайта или любую другую палитру, созданную пользователем.

    Поскольку некоторые из этих машин (такие как ZX-Spectrum и MSX) имеют фиксированные палитры, также необходимо установить флажок, чтобы принудительно использовать точно такой же номер цвета из палитры.

    Я обнаружил ошибку в действии Change Color Deph.

    При выборе метода дизеринга выбранное количество цветов в большинстве случаев игнорируется.

    Действия для воспроизведения:

    1) Добавьте в список 24-битное цветное изображение.
    2) Добавьте действие "Изменить глубину цвета"
    3) Выберите Colors=64 и Dithering=Floyd Steinberg
    4) Нажмите кнопку Convert button
    5) Используйте программное обеспечение для подсчета количества цветов (Gimp Colors->Info->Colorcube Analysis делает это), и будет 256 цветов

    Похоже, что он поддерживает только 256, 16 или 8 цветов, поэтому он попытается уместить выбранное вами количество цветов на этих трех уровнях.

    Проблема еще хуже для сглаживания Байера. Вместо пользовательской палитры он всегда генерирует фиксированную процедурно сгенерированную палитру (также только для 8, 16 или 256 цветов).

    Было бы лучше, если бы палитра представляла собой отдельное поле со списком, содержащее: «Авто» (наилучший выбор для этого изображения), «Процедурный» (аналогично тому, что сейчас генерирует сглаживание Байера), «Палитра Gimp». " (из файла .gpl) и "Из файла" (из существующего изображения PNG или GIF)

    Я долго искал, но не смог найти в текущем XnView MP способ экспортировать из многостраничного TIFF все изображения без потерь в отдельные файлы. Буду благодарен за подсказку.

    corr написал: ↑ Пт, 25 июня 2021 г., 14:14 Я искал, но не смог найти способ в текущей версии XnView MP экспортировать из многокадрового TIFF все изображения без потерь в отдельные файлы. Буду благодарен за подсказку.

    Я думаю, что по необъяснимым причинам эта опция еще не добавлена ​​в XnView MP (ожидается, что ее можно будет найти в файловом браузере).

    Однако хорошие новости: вы сможете сделать это, выбрав "Инструменты" > "Пакетное преобразование", если вы правильно настроите вкладку "Вывод", а при необходимости пакетное преобразование можно использовать для одного входного файла.

    Да, забыл написать, что еще пробовал пакетную конвертацию. Вроде распознает количество страниц и генерирует для них изображения, но только с первой страницы. Таким образом, tiff с 13 страницами генерирует 13 файлов изображений, но только с содержимым первых страниц. Так что это похоже на баг. Я не могу найти никаких возможных настроек, которые могли бы быть причиной такого поведения.

    corr написал: ↑ Пт, 25 июня 2021 г., 16:46 Да, я забыл написать, что я также пробовал пакетное преобразование. Вроде распознает количество кадров и генерирует для них изображения, но только с первого кадра. Таким образом, TIFF с 13 кадрами генерирует 13 файлов изображений, но только с содержимым из первого кадра. Так что это похоже на баг.Я не могу найти никаких возможных настроек, которые могли бы быть причиной такого поведения.

    corr написал: ↑ Пт, 25 июня 2021 г., 16:46 Да, я забыл написать, что я также пробовал пакетное преобразование. Вроде распознает количество кадров и генерирует для них изображения, но только с первого кадра. Таким образом, TIFF с 13 кадрами генерирует 13 файлов изображений, но только с содержимым из первого кадра. Так что это похоже на баг. Я не могу найти никаких возможных настроек, которые могли бы быть причиной такого поведения.

    Прочитав всю ветку еще раз, все еще не совсем понятно, хотите ли вы:

    А. Извлечение всех страниц из многостраничного TIFF в отдельные одностраничные файлы TIFF.

    Б. Преобразуйте многостраничный файл TIFF в многостраничный файл TIFF, предположительно, после редактирования страниц в пакетном преобразовании.

    corr написал: ↑ Вт, 29 июня 2021 г., 10:28. Я хочу преобразовать многостраничный TIFF в многофайловый TIFF (одностраничный).

    corr написал: ↑ Вт, 29 июня 2021 г., 10:28. Я хочу преобразовать многостраничный TIFF в многофайловый TIFF (одностраничный).

    corr написал: ↑ Вт, 29 июня 2021 г., 13:05. Как я уже сказал, я пробовал, но у меня получается только первая страница во всех файлах.

    corr написал: ↑ Вт, 29 июня 2021 г., 13:05. Как я уже сказал, я пробовал, но у меня получается только первая страница во всех файлах.

    Возможно, вы пытаетесь преобразовать несколько многостраничных файлов в новые многостраничные файлы?

    У меня нет проблем с преобразованием многостраничного TIFF в многостраничный TIFF с помощью XnConvert 1.90 с включенным параметром «Преобразовать многостраничный файл в многостраничный файл (когда это возможно)».

    Когда вы просматриваете страницы выходного файла в программе XnView, используете ли вы маленькие стрелки на панели инструментов для перемещения по страницам, если они существуют, большие стрелки будут перемещаться между первыми страницами многостраничных файлов?

    cday написал: ↑ Вт, 29 июня 2021 г., 13:13
    Возможно, вы пытаетесь преобразовать несколько многостраничных файлов в новые многостраничные файлы?

    Нет, я этого не хочу. Это:

    А. Извлечение всех страниц из многостраничного TIFF в отдельные одностраничные файлы TIFF.

    Мне удалось загрузить 16-битные изображения в формате TIFF, но когда приходит время сохранить их обратно, они сохраняются в 8-битном формате TIFF.

    Надеюсь, их можно сохранить с глубиной цвета 16 бит? как?
    Я получаю 8 бит с этим кодом, даже если исходное изображение было 16 бит:

    MyObj3.SaveFormat = AX_TIFF
    MyObj3.SaveBitmap ("c:\pic.tif")

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

    _GUI_ написал: Мне удалось загрузить 16-битные изображения в формате TIFF, но когда приходит время сохранить их обратно, они сохраняются в 8-битном формате TIFF.

    Надеюсь, их можно сохранить с глубиной цвета 16 бит? как?
    Я получаю 8 бит с этим кодом, даже если исходное изображение было 16 бит:

    MyObj3.SaveFormat = AX_TIFF
    MyObj3.SaveBitmap ("c:\pic.tif")

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

    Хорошо, понятно, есть ли решение для обработки 16-битных изображений из VB? может быть, объявить библиотечные функции libgfl267.dll и libgfle267.dll из модуля и вызвать их прямо так?:

    Dim cx As Long
    Dim cy As Long
    Dim Color As GFL_COLOR 'Эта структура предназначена для получения информации о цвете

    cx = ScaleX(x, vbTwips, vbPixels) 'Мы конвертируем данные Twips в пиксели
    cy = ScaleY(y, vbTwips, vbPixels)
    gflGetColorAt GflBitmap, cx, cy, Color 'Мы получаем значение пикселя

    Если обрабатываемое изображение 16-битное, будут ли Color.Red, Color.Green и Color.Blue 16-битными целыми числами в диапазоне 0.65535 или в диапазоне 0..255?

    Заранее благодарим вас и поздравляем с вашей работой.

    _GUI_ пишет: ОК, понятно, есть ли решение для обработки 16-битных изображений из VB? может быть, объявить библиотечные функции libgfl267.dll и libgfle267.dll из модуля и вызвать их прямо так?:

    Dim cx As Long
    Dim cy As Long
    Dim Color As GFL_COLOR 'Эта структура предназначена для получения информации о цвете

    cx = ScaleX(x, vbTwips, vbPixels) 'Мы конвертируем данные Twips в пиксели
    cy = ScaleY(y, vbTwips, vbPixels)
    gflGetColorAt GflBitmap, cx, cy, Color 'Мы получаем значение пикселя

    Если обрабатываемое изображение 16-битное, будут ли Color.Red, Color.Green и Color.Blue 16-битными целыми числами в диапазоне 0.65535 или в диапазоне 0..255?

    Заранее благодарим вас и поздравляем с вашей работой.

    При чтении (функции Gfl вызываются из VB) цвет его пикселей с помощью:

    cx = ScaleX(x, vbTwips, vbPixels) 'Мы конвертируем данные Twips в пиксели
    cy = ScaleY(y, vbTwips, vbPixels)
    gflGetColorAt GflBitmap, cx, cy, Color 'Мы получаем значение пикселя

    labX.Caption = cx 'Отображаемые значения
    labY.Caption = cy
    labR.Caption = Color.Red
    labG.Caption = Color.Green
    labB.Caption = Цвет.Синий

    Можно ли вызвать ваши функции и получить значение цвета 31612?не могли бы вы сказать мне, какую функцию или вариант я должен использовать, чтобы получить его?
    Если бы вы могли написать небольшой фрагмент кода для получения числа 31612 из этого изображения, проблема была бы полностью решена.

    Читайте также: