sips
Mac OS XおよびBSD Unixで画像を処理するためのコマンドラインツール。 sips
スクリプト可能な画像処理システムを表します。
1ビット白黒非圧縮TIFF画像があります。次のsips
コマンドは、LZW圧縮を使用して圧縮します。
sips -s format tiff -s formatOptions lzw sample.tif --out lzw.tif
ただし、結果のTIFF画像は、特定のビューアに表示されると白黒に反転して表示されます。この反転は、以下に説明する「光度計の解釈」に関連しています。
白黒画像の各ピクセルはビットで表されます。 1ビットTIFF画像にはカラーパレットがなく、白黒のみが可能です。 「on」および「off」ビットは、TIFF画像の測光タグ(ID262)に応じて黒または白を表すことができます。白黒TIFF画像の典型的な測光方向は0=白、1=黒であり、測光ラベル値0に対応する。逆に、0=黒、1=白は測光ラベル値1に対応する。イメージビューアは、測光ラベルを完全に無視し、常に0 =白と仮定します。特にWindows XPイメージビューアはさらにそうです。 (出典:atalasoft /KB/article.aspx?id=10069)
sips
視聴者は白を0に設定し、TIFF画像を作成すると白を1に設定するため、白黒が反転します。
入力ファイルSample.tifの白は0です。
出力ファイルlzw.tifの白は1です。
白が0か1か(または0が白か黒か)、つまり「光度計の解釈」が0か1かを確認するには、少なくとも2つの方法を使用できます。
使用exiftool
、 から入手できます。
http://owl.phy.queensu.ca/~phil/exiftool/
exiftool -S lzw.tif -PhotometricInterpretation
またはPreview.app
Mac OS Xで使用してください。
Tools > Show Inspector (Command-I) > TIFF
sips
私の質問:1ビットモノクロTIFF画像を作成するときに白を0に強制するにはどうすればよいですか?
前述したように、私は1ビットの白黒非圧縮TIFF画像を持っています。実際、私にはこのようなものが何千ものあります。そのため、GIMPやPhotoshopで手動で処理するのではなく、プロセスを自動化するコマンドラインツールが必要です。
私が望むように動作しない場合は、Mac OSで実行されているsips
コマンドラインツールについて尋ねる新しい質問を投稿できます。ここで白は0です。
(私のデフォルトのシェルはbashです。)
その間は、それがうまくいくのを待ちましょうsips
。
サンプル画像として、輝度解析が0(WhiteIsZero)の白い背景に黒文字で構成された1ビット白黒非圧縮TIFF画像をアップロードしてみました。ただし、Stackexchangeの画像アップロードメカニズムは自動的にTIFFをPNGに変換します。
sips
この文書の上部にあるコマンドは、圧縮されていないTIFFを取得し、LZW圧縮TIFFを出力します。次のsips
コマンドはPNGを取り、LZW圧縮TIFFを出力します。
sips -s format tiff -s formatOptions lzw Cqdg2.png --out Cqdg2.tif
この生成されたTIFF画像Cqdg2.tifは、以前に生成されたTIFF画像lzw.tifと同じ反転および測光解析の問題を経験しています。
答え1
おそらくほとんどの人は、私が知っている限り、Mac OS Xで利用可能なImageMagickを使用することをお勧めします。 Linuxでは、次のように使用して質問に似たtiff画像を作成し、それを操作して圧縮バージョンを提供します。測光オプション。初期イメージの作成:
$ convert -size 200x200 -depth 1 -gravity center -negate \
label:UNIX a.tif
$ file a.tif
a.tif: TIFF image data, little-endian, ... bps=1, \
compression=none, PhotometricIntepretation=BlackIsZero, ...
必要に応じて色や明るさを圧縮して変更します-negate
。-define quantum:...
$ convert a.tif -define quantum:polarity=min-is-black -compress lzw b.tif
$ file b.tif
b.tif: ... compression=LZW, PhotometricIntepretation=BlackIsZero, ...
$ convert a.tif -define quantum:polarity=min-is-white -compress lzw b.tif
$ file b.tif
b.tif: ... compression=LZW, PhotometricIntepretation=WhiteIsZero, ...