😺

CMYKカラーの画像から色を反転させないconvertの方法

2024/05/08に公開

概要

例えばIIIFを用いた画像配信において、CMYKカラーの画像に対して、ImageMagickで以下のような変換処理を行うと、色が反転するケースがありました。

convert source_image.tif -alpha off -define tiff:tile-geometry=256x256 -compress jpeg 'ptif:output_image.tif'

元画像

布LAB.で公開されている画像を利用させていただいています。)

Image Annotator(神崎正英氏作成)での表示例

これは、Cantaloupe Image ServerIIPImageなどのイメージサーバ、および、Image AnnotatorやMirador, Universal Viewerなどのビューア側の問題ではなく、作成されるtiled TIFFs画像に問題があるようです。

本記事では、この問題への対応方法について説明します。

背景

同様の不具合は、以下の記事など、いくつかの場所で報告されていました。

https://scrapbox.io/giraffate/ImageMagickでCMYKのJPG画像を合成したら色が反転するバグ

解決策として、今回は以下を参考にしました。

https://www.imagemagick.org/discourse-server/viewtopic.php?t=32585

-colorspace sRGBを追加するようです。

変換

tiled TIFFsを作成するコマンドは以下を参考にします。

https://samvera.github.io/serverless-iiif/docs/source-images#using-imagemagick

具体的には、以下です。

convert source_image.tif -alpha off -define tiff:tile-geometry=256x256 -compress jpeg 'ptif:output_image.tif'

上記をCMYKカラーの画像に対してそのまま実行すると、冒頭で紹介したように、反転した画像が表示されました。

なお、Image ServerにはCantaloupe Image Serverを使用していますが、IIPImageなどでも同様の事象が確認されました。

修正した変換コマンド

以下のように、-colorspace sRGBを追加します。

convert source_image.tif -alpha off -colorspace sRGB -define tiff:tile-geometry=256x256 -compress jpeg 'ptif:output_image.tif'

結果、以下のように、色が反転せずに、Image AnnotatorなどもIIIF対応ビューアでも表示されるようになりました。

参考

画像表示の確認にあたり、MiradorやUniversal Viewerでは、IIIFマニフェストファイルのURLを入力することが一般的ですが、Image Annotatorでは、画像のURIを入力することができます。

以下のサイトにアクセスして、

https://www.kanzaki.com/works/2016/pub/image-annotator

以下のような画像のURIを入力してみます。wellcome collectionの画像を利用させていただいています。

https://iiif.wellcomecollection.org/image/b20432033_B0008608.JP2/info.json

結果、以下のように、画像表示を行うことができます。

https://www.kanzaki.com/works/2016/pub/image-annotator?u=https%3A%2F%2Fiiif.wellcomecollection.org%2Fimage%2Fb20432033_B0008608.JP2%2Finfo.json

まとめ

IIIFを用いた画像配信にあたり、参考になりましたら幸いです。

Discussion