2013-07-24 31 views
1

我有一個文件我保存在原始灰色格式,然後轉換爲TIFF。運行命令如下工作:ImageMagick使用標準輸入從灰度轉換爲TIFF

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

但改變使用標準輸入作爲輸入不:

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。

問題是爲什麼?

回答

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混淆並嘗試打開題爲「灰色」一個blob文件,最終試圖打開「bla.tiff」作爲源圖像。它們兩個都不存在於文件系統上。