gpt4 book ai didi

imagemagick - ImageMagick 中的这个 'fx' 表达式有什么问题?

转载 作者:行者123 更新时间:2023-12-02 05:35:43 26 4
gpt4 key购买 nike

我正在尝试使用 ImageMagick 去除一堆图像上的背景。 ImageMagick 网站记录了一个 variety of techniques为此。他们还方便地编写了一个 shell 脚本,bg_removal.sh ,其中包含这些方法的首选组合。

不过我在脚本中遇到错误。当您调用脚本时,您会提供几个模糊参数,如果您知道的话,还可以加上特定的背景颜色。传递一个明确的背景颜色,比如 RGB(37,188,111),导致最终命令的这个片段:

( +clone -sparse-color voronoi 0,0,RGB(37,188,111) )

..它工作正常。但是,如果您不传递 bgcolor,则表达式如下所示:

( +clone -sparse-color voronoi 0,0,%[fx:p{0,0}] )

它失败并显示一条关于 -sparse-color 的参数数量错误的消息。我可以将其更改为不同的功能,并且有效:

( +clone -sparse-color voronoi 0,0,%[pixel:p{0,0}] )

我对 ImageMagick 的了解不够,无法知道 fx 函数在做什么以及 pixel 是否是可接受的替代品。我认为它正在寻找坐标 0,0 处的颜色来猜测背景颜色,但不确定。语法 0,0,%[fx:p{0,0}] 是否正确?

最佳答案

-fx 是一个运算符,可让您使用数学或 IM 特定表达式来应用于像素:-fx 'expression'

它仅在 ImageMagick 版本 6.2.10 中引入,您可以在 image properties escaped strings 中使用像 '%[fx:...]' 这样的转义序列 ,用于特殊场合当它们被括在大括号中。所以这两种方法都应该在 v6.2.10 之后工作:

%[fx:expression]
%[pixel:expression]

关于您的问题:是的,“pixel 可接受的 fx 替代品”

表达式 p{0,0} 的意思是:'返回当前图像左上角像素的颜色值'

因此请检查您的 ImageMagick 版本:

 convert -version

至于为什么完整的表达式因为 -sparse-color“错误数量的参数” 而对你失败:

  1. 检查 voronoi 是否在 -sparse-color 支持的方法中:

    convert -list 稀疏颜色

    (我假设是——否则您可能会看到不同的错误消息。)

  2. -sparse-color 的一般语法记录为:

    -sparse-color method 'x,y color ...'

    这表明您应该使用额外的引号来制作稀疏颜色以识别正确的参数数量。怎么样

    ( +clone -sparse-color voronoi '0,0 %[fx:p{0,0}]' )

    ??

关于imagemagick - ImageMagick 中的这个 'fx' 表达式有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11751126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com