У меня есть изображение 6130x5548 pixels
, и я хочу масштабировать его так, чтобы самая длинная сторона была 32768 pixels
(а затем сделать пирамиду плиток с 7 уровнями масштабирования). Я понимаю, что vips resize
- это очевидный способ для чего-то подобного, поэтому я попробовал строку ниже
vips resize image_in.tif img_rescaled.tif 5.345513866231648
Число 5.34551
— это просто отношение 32768/6130
, коэффициент масштабирования вдоль моего x axis
. Если я хочу указать точные размеры в пикселях восстановленного изображения, как я могу это сделать, пожалуйста?
Я пытался использовать vips thumbnail
для этой цели, я не знаю, рекомендуется это или нет, но это работает.
vips thumbnail image_in.tif img_rescaled.tif 32768
Что-то вроде этого, пожалуйста?
Кроме того, эти два подхода дают совершенно разные результаты с точки зрения размера МБ. В то время как vips thumbnail
создает tif
размера 2.8Gb
, вызов vips resize
возвращает tif
размера 1.8Gb
.
Оба изображения имеют (очевидно) одинаковые размеры 32768x29657 pixels
, одинаковое разрешение 72dpi
, но разные bit depth
tif
из vips thumbnail
имеет 24 bit depth
, а vips resize
из 16 bit depth
. Исходное изображение имеет bit depth=16
.
Кроме того, я понимаю, что алгоритм, используемый vips translate
, играет значительную роль в конечном размере файла. Могу ли я установить алгоритм, когда я использую vips thumbnail
и/или bit depth
, пожалуйста?
vipsthumbnail
предназначен для создания миниатюр изображений, поэтому он превращает большинство изображений в sRGB, готовый для сохранения в формате jpeg. - person jcupitt   schedule 24.05.2019cubic
вместоlanczos
, что приведет к немного меньшему размеру файла, или дажеaverage
,nearest
и т. д., которые намного хуже с точки зрения качества, но размер файла также намного меньше. - person Aenaon   schedule 24.05.201932768 pixels (width or height)
. В этом случае на уровне 7 одна единица будет соответствовать 1 пикселю. Если есть способ получитьunits per pixels = 0.5
, то масштабирование до16384 pixels
тоже подойдет для меня, но я не думаю, что это возможно сvips
- person Aenaon   schedule 24.05.2019