从 ImageMagick 转换管道中去除噪声

Remove the noise from ImageMagick transformation pipeline

我正在尝试 "simplify" 使用 ImageMagick 将图像转换为灰度并使用油画滤镜将看起来相等的较大部分分组,例如白云、草原...

我的示例源图像是:

(来自TMDB:http://www.themoviedb.org/movie/122-the-lord-of-the-rings-the-return-of-the-king

在 Windows 使用 IrfanView 时,我执行以下步骤:

这是生成的图像(用 floodfill 替换了较低的颜色,完美!):

这正是我想要的(也许有些参数需要调整)。当我尝试用 ImageMagick 得到相同的结果时,我破解了这个:

convert -monitor lotr2.jpg +dither -quantize gray -colors 8 \
        -paint 6 lotr_oilpaint.jpg

但无论我尝试什么,图像中的噪点都非常可怕。我尝试了 mode filter,它通过消除一些噪音起到了一点帮助,但它似乎在其他部分增加了一些噪音。

它与 IrfanView 解决方案相去甚远,它生成的相同颜色的实心区域可以毫无问题地被淹没。

快速应对您的挑战...这是我尝试的第一个命令:

convert                               \
   http://i.stack.imgur.com/6iX53.jpg \
  -colorspace gray                    \
  -colors 16                          \
  -paint 8                            \
   6iX53.png

如您所见,我暂时跳过了 -floodfill +X+Y red 参数...

这是我的结果:

看起来已经很接近你的了。它包含 10 种不同的颜色:

identify -format '%k\n' 6iX53.png

 10

要在图像中有一些 'noise' 时成功执行 -floodfill,您可以在命令中添加一个 -fuzz X% 因素。所以让我们用 -fuzz 3%:

试试
convert                               \
   http://i.stack.imgur.com/6iX53.jpg \
  -colorspace gray                    \
  -colors 16                          \
  -paint 8                            \
  -fuzz 3%                            \
  -fill red                           \
  -floodfill +1+438 '#030303'         \
   6iX53-floodfilled.png

结果:

也许通过使用我使用的一些参数,您可以获得更接近您想要的结果...