😽

pyvipsの使い方とPyramid Tiled Tiffファイルの作り方

2022/03/30に公開

概要

pyvipsを用いてPyramid Tiled Tiffファイルを作成するプログラムを作成しました。以下のGoogle Colabでお試しいただけます。

https://colab.research.google.com/drive/1VO1PgKgS3H21zXpg4g2inN-mtIrON5TQ?usp=sharing

IIIFを用いた画像配信において、Pyramid Tiled Tiffファイルを作成する場面がありますが、PythonおよびVipsを用いた画像変換を行う際の参考になりましたら幸いです。

なお、パラメータ等は以下を参考にしています。

https://github.com/samvera-labs/serverless-iiif#using-vips

また、変換したPyramid Tiled Tiffファイルを配信する方法の一例として、以下の記事も参考になりましたら幸いです。

https://zenn.dev/nakamura196/articles/72e49979edf582

ポイント

vipsのインストール

pyvipsを使用するのは、vipsを事前にインストールしておく必要があります。以下が参考になります。

https://www.libvips.org/install.html

pyvipsを用いたPyramid Tiled Tiffファイルの作成

以下のように使用します。

import pyvips

ins = pyvips.Image.new_from_file(<入力画像ファイルのパス>)
ins.tiffsave(<出力画像ファイルのパス>, 
    tile=True, 
    compression='jpeg', 
    pyramid=True,
    tile_width=256,
    tile_height=256)

上記は、以下と同じ結果が得られる(はず)です。

vips tiffsave <入力画像ファイルのパス> <出力画像ファイルのパス> --tile --pyramid --compression jpeg --tile-width 256 --tile-height 256

Discussion