Я хочу использовать VIPS, чтобы добавить каталог из множества изображений меньшего размера к одному массивному изображению. Модуль узла "sharp" использует libvips. Есть ли способ использовать резкость для добавления 2 изображений вместе? В VIPS есть функция "LRJOIN", но я не вижу ее четкой реализации.
Я действительно просто хочу узнать самый быстрый способ заставить VIPS добавить каталог изображений в один большой TIFF. Изображение слишком велико для использования ImageMagick и т. д. из-за проблем с памятью.
Редактировать:
Я использовал ruby-vips, чтобы соединить изображения и вызвать инструмент командной строки VIPS для создания DZI.
#!/usr/bin/ruby
require 'rubygems'
require 'vips'
a = VIPS::Image.new(ARGV[1])
ARGV[2..-1].each {|name| a = a.tbjoin(VIPS::Image.tiff(name, :compression => :deflated))}
a.write("output.tiff", :compression => :deflated)
system("vips dzsave output.tiff '#{ARGV[0]}'/output_dz.zip --overlap=0 --suffix=.jpg")
Я нашел код на ruby-sharp выпуске github и немного изменил его. Результаты (только соединяющая часть) для 550 изображений 4096x256:
real 0m17.283s
user 0m47.045s
sys 0m2.139s