在Imagemagick中使图像的一部分模糊

7

我该使用哪个转换命令来模糊图像的部分。目前我正在使用

convert source.jpg -fill white  -draw "polyline 671,395 665,356 812,331 818,370"  result.jpg

它在图像上创建了四个白色的点形状,但我需要模糊图像中所有这部分的内容。
谢谢!

1
尝试使用 convert source.jpg -region WxH+X+Y -blur 0x3 result.jpg,其中W是宽度,H是高度,X是距左上角的x偏移量,Y是距左上角的y偏移量。 - Mark Setchell
马克,谢谢,但我需要自定义的四点形状。 - Dima Magunov
哦,抱歉,我在你的问题中看到了“矩形”,但没有检查!现在已经很晚了,所以除非@fmw42先做,否则我明天会用另一种方法来解决它。 - Mark Setchell
无论如何感谢马克,我会更新我的问题,以便没有误解。 - Dima Magunov
2个回答

10
在ImageMagick中,你可以使用任何掩模来限制模糊效果。
创建一个黑白掩模图像:在四边形内部是黑色,其余区域是白色,大小与你的图像相同。然后将其作为模糊操作的掩模。详见http://www.imagemagick.org/Usage/masking/#read_mask
输入:

enter image description here

(Unix语法)
convert \
logo.jpg \
\( -clone 0 -fill white -colorize 100 -fill black \
-draw "polygon 332,180 427,105 481,238 399,279" \
-alpha off -write mpr:mask +delete \) \
-mask mpr:mask -blur 0x5 +mask logo_blur.jpg

模糊的结果

enter image description here


2
值得一提的是,您还可以通过对蒙版进行模糊处理来软化完成的模糊区域的边缘。只需在“-write mpr:mask”之前添加“-blur 0x5”,即可获得该效果。 - GeeMack
1
@fmw42 再问一下。如果我想在图像上创建几个模糊的形状,我该如何用一个命令来实现? - Dima Magunov
1
只需在-draw内添加另一个多边形及其坐标,例如“-draw“多边形坐标集1 多边形坐标集2”。 - fmw42
1
只要您希望所有形状具有相同的模糊程度,您可以在原始命令中添加更多“-draw”操作,甚至可以在单个“-draw”操作中创建更多形状,例如“-draw“polygon 10,10 50,10 50,50 10,10 polygon 80,80 100,80 100,100 80,80”。 - GeeMack

4

该方法不允许以矩形以外的任何形状进行模糊处理。 - fmw42
1
这个命令不会模糊图片,但是 convert a.png -region 150x150+599+261 -blur 0x100 +region b.png 会。 - yofee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接