Что они подразумевают под квантом в GraphicsMagick

У GM есть квант опции сборки, который определяет битовую глубину, используемую при чтении изображения. Создание GM с высоким квантовым значением означает, что изображения с меньшей битовой глубиной будут занимать гораздо больше памяти.

Какой здесь квант? Кто-нибудь может дать мне некоторые ресурсы по этому поводу?

2 ответа

Это параметр времени сборки, что означает, что вам нужно перекомпилировать GraphicsMagick, чтобы изменить его.

Если вы строите с Q8каждый из ваших пикселей в изображении может иметь 2^8 уникальных значений, то есть 256 оттенков серого.

Если вы строите с Q16каждый пиксель может иметь 2^16 уникальных значений - то есть 65 536 оттенков серого.

Таким образом, при более высоком значении квантования вы получите более плавные градиенты и, например, меньше ошибок округления. Недостатком является то, что ваша обработка может занять больше времени (зависит от процессора) и потребует больше оперативной памяти для ее хранения.

Вы можете проверить свои текущие настройки с помощью:

gm identify version

Пример вывода

GraphicsMagick 1.3.27  Q16 http://www.GraphicsMagick.org/
Copyright (C) 2002-2017 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.

Feature Support:
  Native Thread Safe       yes
  Large Files (> 32 bit)   yes
  Large Memory (> 32 bit)  yes
  BZIP                     yes
  DPS                      no
  FlashPix                 no
  FreeType                 yes
  Ghostscript (Library)    no
  JBIG                     no
  JPEG-2000                no
  JPEG                     yes
  Little CMS               no
  Loadable Modules         yes
  OpenMP                   no
  PNG                      yes
  TIFF                     yes
  TRIO                     no
  UMEM                     no
  WebP                     no
  WMF                      no
  X11                      no
  XML                      yes
  ZLIB                     yes

Host type: x86_64-apple-darwin17.3.0

Configured using the command:
  ./configure  '--prefix=/usr/local/Cellar/graphicsmagick/1.3.27' '--disable-dependency-tracking' '--enable-shared' '--disable-static' '--with-modules' '--without-lzma' '--disable-openmp' '--with-quantum-depth=16' '--without-gslib' '--with-gs-font-dir=/usr/local/share/ghostscript/fonts' '--without-x' '--without-lcms2' 'CC=clang' 'CXX=clang++'

Final Build Parameters:
  CC       = clang
  CFLAGS   = -g -O2 -Wall -D_THREAD_SAFE
  CPPFLAGS = -I/usr/local/opt/freetype/include/freetype2 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/libxml2
  CXX      = clang++
  CXXFLAGS = -D_THREAD_SAFE
  LDFLAGS  = -L/usr/local/opt/freetype/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/lib
  LIBS     = -lfreetype -lbz2 -lz -lltdl -lm -lpthread

Самая первая строка Q16 в нем значение моего Кванта равно 16.

Согласно этому сайту, квант это:

Базовый тип, используемый для представления образцов цвета в GraphicsMagick, является типом Quantum. Пиксели представлены структурой квантовых значений. Например, пиксель RGB содержит красный, зеленый и синий кванты, а пиксель RGBA содержит красный, зеленый, синий и кванты непрозрачности. Максимальное значение, которое может получить Quantum, определяется константным значением, представленным определением MaxRGB, которое само определяется числом битов в Quantum. Опция построения QuantumDepth определяет количество битов в Quantum.

Другие вопросы по тегам