Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing ImageMagick在ImageTraPick修补程序之后不再使用png图像上的阈值参数_Image Processing_Terminal_Imagemagick_Imagemagick Convert - Fatal编程技术网

Image processing ImageMagick在ImageTraPick修补程序之后不再使用png图像上的阈值参数

Image processing ImageMagick在ImageTraPick修补程序之后不再使用png图像上的阈值参数,image-processing,terminal,imagemagick,imagemagick-convert,Image Processing,Terminal,Imagemagick,Imagemagick Convert,我有一段时间的代码已经成功地对jpg和PNG图像进行了单色(黑白)处理。最近我注意到它不再适用于PNG。当我运行png时,会得到一个尺寸正确的空图像。对于jpg,我得到了正确的结果 convert -density 150 -threshold '50'% -fuzz 1% -transparent white 'input.png' 'output.png' 我发现阈值不起作用,当移除时,图像不再是空白,但当然也不再是单色 convert -density 150 -fuzz 1% -tra

我有一段时间的代码已经成功地对jpg和PNG图像进行了单色(黑白)处理。最近我注意到它不再适用于PNG。当我运行png时,会得到一个尺寸正确的空图像。对于jpg,我得到了正确的结果

convert -density 150 -threshold '50'% -fuzz 1% -transparent white 'input.png' 'output.png'
我发现阈值不起作用,当移除时,图像不再是空白,但当然也不再是单色

convert -density 150 -fuzz 1% -transparent white 'input.png' 'output.png'
我发现在运行之前将png转换为jpg仍然会产生一个空白图像

convert 'input.png' 'input.jpg'
convert -density 150 -threshold '50'% -fuzz 1% -transparent white 'input.jpg' 'output.png'
我还尝试按照评论中的建议重新构造命令,但仍然得到相同的结果

convert 'input.png' -threshold '50'% -transparent white 'output.png'
我在一个没有secuirty补丁的实例上测试了这个问题,它也没有这个问题,所以我很有信心,当我更新ImageMagick时,这个问题出现了。我目前正在使用7.0.2-0

是什么导致了这种行为,如何使用ImageMagick 7.0.2-0将png图像转换为单色

更新:根据要求,这里是我用于测试的众多png图像之一


在评论中归功于马克·塞切尔


不知道发生了什么,但这能满足你的需要吗


可能是我在参数和命令上运行的
escapeshellarg
escapeshellcmd
添加了那些“标记”而破坏了它。

“我相信这可能与我应用的“ImageTragick”补丁有关。”你没有任何地方可以测试这个假设吗?另一个安装或朋友的安装?@Bonzo我按照你的建议做了,并且能够确认问题只存在于post IMAGETRAPICK安全补丁中。这是一个奇怪的运行命令!您可以删除
-density 150
,因为除非处理PDF或矢量图像,否则它将无效。您还可以删除
-fuzz 1%
,因为在阈值之后,您的像素将全部为纯白色或纯黑色,因此根本不需要任何模糊。另外,考虑在“代码> >阈值>代码之前移动输入图像以适应新的命令行处理顺序。@ MasStjcEL我按照您的命令做了更改,最后以<代码>转换为‘输入。PNG’-阈值‘50’%-透明的白色’输出。PNG’< /代码>并且仍然得到相同的行为。适用于jpg,不适用于png。不确定发生了什么,但这是你想要的吗
convert buckeroos.png-阈值50%-alpha关-透明白色输出.png
convert buckeroos.png -threshold 50% -alpha off -transparent white output.png