хорошие способы сохранить информацию об изображении при уменьшении битовой глубины - PullRequest
2 голосов
/ 27 января 2011

У меня есть некоторые (миллионы) 16-битных сжатых без потерь TIFF (около 2 МБ каждый), и после исчерпания ТБ дискового пространства, я думаю, пришло время архивировать старые TIFF как 8-битные JPEG.Каждое отдельное изображение представляет собой изображение в градациях серого, хотя может быть до 5 таких изображений, представляющих одну и ту же область формирования изображения на разных длинах волн.Теперь я хочу сохранить как можно больше информации в этом процессе, в том числе возможность восстановить изображения до их приблизительных исходных значений.Я знаю, что есть способы получить дополнительную экономию за счет пространственной корреляции между несколькими каналами, но количество каналов может варьироваться, и было бы неплохо иметь возможность загружать каналы независимо друг от друга.

Сами изображения предлагают некоторые возможные стратегии для использования, поскольку около ~ 60% площади на каждом изображении является темным «фоном».Таким образом, один из способов сохранить больший диапазон полезного изображения - просто ограничить все, что находится ниже этого «фона», перед масштабированием и уменьшением битовой глубины.Эта стратегия, конечно, довольно субъективна, и я ищу любые другие предложения для стратегий, которые являются явно превосходящими и / или более общими.Может быть что-то вроде попытки сохранить наибольшую энтропию изображения?

Спасибо.

1 Ответ

2 голосов
/ 28 января 2011

Ваши 2 МБ TIFF-файлы уже сжаты без потерь, поэтому вам будет сложно найти метод, который позволит вам "восстановить изображения" до исходного диапазона значений без некоторой потери детализации интенсивности.

Итак, вот несколько вопросов, чтобы немного сузить вашу проблему:

  • Каковы размеры изображения и количество каналов? Сложно догадаться только по размеру файла и битовой глубине, потому что, как вы упоминали, вы используете сжатие без потерь. Образец изображения был бы хорош.
  • Что это за изображения? Например. это ч / б чертежи, рентгеновские снимки / МРТ, цветные фотографии. Вы упоминаете, что около 60% изображений являются «фоновыми» - не могли бы вы рассказать нам больше о содержании изображения?
  • Для чего они используются? Это только для людей, или они тренируют изображения для какого-то компьютерного алгоритма?
  • Какую эффективность кодирования вы ожидаете? Например. для текущего размера файла 2 МБ, насколько маленькими должны быть ваши сжатые файлы?

На основании этой информации люди могут что-то предложить. Например, если ваши изображения являются просто цветными фотографиями, на которые люди будут смотреть, 4: 2: 0 цветовая субсэмплирование даст вам 50% -ное уменьшение пространства без каких-либо визуально обнаруживаемых потерь качества. Вы можете даже сохранить свою 16-битную глубину изображения, если этого достаточно.

Наконец, обратите внимание, что вы сравнили две принципиально разные вещи в своем вопросе:

  1. "top ~ 40% пикселей" - здесь звучит так, будто вы говорите о смежных частях спектра интенсивности (например, интенсивности от 0,6 до 1,0) - по сути, функция плотности вероятности изображения.
  2. «около ~ 60% площади каждого изображения» - здесь речь идет о распределении пикселей в пространственной области.

В общем, эти две вещи не связаны, и сравнивать их бессмысленно. Может быть исключение для конкретного содержимого изображения - пожалуйста, создайте репрезентативное изображение, чтобы было понятно, с чем вы имеете дело.

Если вы отредактируете свой вопрос, я посмотрю и отвечу, если что-нибудь придумаю.

...