我有一个文件,我以原始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
我收到以下错误:
convert:此图像格式没有解码委托gray' @ error/constitute.c/ReadImage/532.
convert: missing an image filename
/ tmp / bla.tiff'@ error / convert.c / ConvertImageCommand / 3011。
问题是为什么?
答案 0 :(得分: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.
转换命令与-:gray
混淆并尝试打开名为“灰色”的blob文件,并最终尝试打开“bla.tiff”作为源图像。它们都不存在于文件系统中。