如何用ImageMagick实现魔棒式相似灰区涂黑与区域连通?求助
解决方案
一、解决Cygwin中magicwand命令找不到的问题
Fred's Scripts并非ImageMagick自带工具,需手动部署:
- 下载适配ImageMagick 7版本的
magicwand脚本,确保脚本支持IM7语法。 - 将脚本放入Cygwin的可执行目录(如
/usr/local/bin/)或当前工作目录。 - 给脚本添加执行权限:
chmod +x magicwand - 由于IM7默认使用
magick命令替代旧版convert,需确保脚本调用正确:要么修改脚本内的convert为magick,要么创建软链接兼容:ln -s /usr/bin/magick /usr/bin/convert - 测试调整后的命令(匹配你Paint.net的32%容差,对应数值约81,且目标是涂黑区域):
./magicwand 395,190 -t 81 -f image -r inside -m edge -c black logo2.png logo2_out.png
二、完成指定图像处理任务
1. 涂黑相似灰色区域
如果magicwand仍有问题,可直接用ImageMagick原生命令实现魔棒填充效果:
magick logo2.png -fuzz 32% -fill black -draw "color 395,190 floodfill" logo2_step1.png
-fuzz 32%对应你Paint.net的容差设置,floodfill会从指定坐标开始填充相似颜色区域。
2. 消除1像素线条,连通黑色区域
用形态学闭合操作填充1像素高度的线条:
magick logo2_step1.png -morphology close rectangle:1x2 logo2_final.png
rectangle:1x2针对纵向1像素线条,若线条为横向,可改为rectangle:2x1,确保相邻黑色区域连通。
内容的提问来源于stack exchange,提问作者Rasec Malkic
相关产品推荐
相关产品推荐

