0

VIPS を使用して、多数の小さいイメージのディレクトリを 1 つの大きなイメージに追加したいと考えています。node モジュール「sharp」は libvips を使用します。シャープを使用して 2 つの画像を一緒に追加する方法はありますか? VIPS には「LRJOIN」機能がありますが、その明確な実装は見当たりません。

VIPS で画像のディレクトリを 1 つの大きな 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
4

1 に答える 1