Bash ImageMagick';s convert:未定义图像
我尝试执行以下命令:Bash ImageMagick';s convert:未定义图像,bash,macos,imagemagick,imagemagick-convert,Bash,Macos,Imagemagick,Imagemagick Convert,我尝试执行以下命令: $ convert 1.png -filter 'Jinc ( +clone -negate -morphology Distance Euclidean -level 50%,-50% )' -morphology Distance Euclidean -compose Plus -composite -level 43%,57% -resize 12.5% 1.png 它给了我: 转换:未定义图像“1.png”@ 错误/convert.c/ConvertImageCo
$ convert 1.png -filter 'Jinc ( +clone -negate -morphology Distance Euclidean -level 50%,-50% )' -morphology Distance Euclidean -compose Plus -composite -level 43%,57% -resize 12.5% 1.png
它给了我:
转换:未定义图像“1.png”@
错误/convert.c/ConvertImageCommand/3187
但它是存在的!我尝试在启用调试选项的情况下执行该命令:
$convert 1.png -filter 'Jinc ( +clone -negate -morphology Distance Euclidean -level 50%,-50% )' -morphology Distance Euclidean -compose Plus -composite -level 43%,57% -resize 12.5% 1.png -debug all
我得到这个输出:
ImageMagick的配置有什么问题?我使用最新的macOS。您可以尝试在之后指定文件名,如下所示:
$ convert 1.png \
-filter 'Jinc ( +clone -negate -morphology Distance Euclidean -level 50%,-50% )' \
-morphology Distance Euclidean \
-compose Plus \
-composite 1.png \
-level 43%,57% \
-resize 12.5% 1.png
我相信您的断言是错误的,
-composite
需要文件名。它只执行前面的-compose
操作符定义的任何操作,并将结果保留在图像堆栈中。您从何处获得该命令?它试图做什么?由于输出图像与输入图像相同,问题可能是输出图像而不是输入图像-请尝试更改输出名称以确认这一点。在Linux类型的系统上,您需要使用\来转义(&),在mac上也是这样吗?但正如马克所说,代码看起来也有点奇怪。请检查包:Ghostscript。如果您没有此问题:brew安装ghostscript
ghostscript安装在OSX上无法解决此问题。我也遇到了同样的问题,并通过使输出文件名与输入文件名不同的方式解决了此问题。