Image processing ImageMagick在ImageTraPick修补程序之后不再使用png图像上的阈值参数
我有一段时间的代码已经成功地对jpg和PNG图像进行了单色(黑白)处理。最近我注意到它不再适用于PNG。当我运行png时,会得到一个尺寸正确的空图像。对于jpg,我得到了正确的结果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
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