0

生の GRAY 形式で保存しているファイルがあり、それが tiff に変換されます。次のようにコマンドを実行すると機能します。

convert -size 1024X1024 -depth 16 -endian MSB imgTemp.gray /tmp/bla.tiff

しかし、入力として stdin を使用するように変更しても、次のことは行われません。

cat imgTemp.gray | convert -size 1024x1024 -depth 16 -endian MSB -:gray /tmp/bla.tiff

次のエラーが表示されます。

変換: このイメージ形式gray' @ error/constitute.c/ReadImage/532. convert: missing an image filename/tmp/bla.tiff' @ error/convert.c/ConvertImageCommand/3011 のデコード デリゲートはありません。

問題はなぜですか?

4

1 に答える 1

2

STDINとフォーマットが反転しているだけです。" -:gray" は " " である必要がありgray:-ます

cat imageTemp.gray | 
  convert -size 1024x1024 \
    -depth 14 \
    -endian MSB gray:- /tmp/bla.tiff

なぜこれが起こっているのかを答えるために。前のコマンドを-verboseスイッチで実行できます。

cat imgTemp.gray | \
    convert -verbose \
    -size 1024x1024 \
    -depth 16 \
    -endian MSB -:gray /tmp/bla.tiff

これにより、ImageMagick が何をしようとしているのかを説明する追加の情報が得られます。

convert: unable to open image `gray':
  No such file or directory @ error/blob.c/OpenBlob/2638.
convert: no decode delegate for this image format 
 `gray' @ error/constitute.c/ReadImage/550.
convert: no images defined `bla.tiff' @ error/convert.c/ConvertImageCommand/3078.

Convert コマンドが混同され-:gray、"gray" という名前の blob ファイルを開こうとし、最終的に "bla.tiff" をソース イメージとして開こうとします。どちらもファイルシステムに存在しません。

于 2013-07-24T13:15:20.337 に答える