You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ImageMagick将被黑色像素包围的白色像素转为黑色?

使用ImageMagick移除黑色包围的白色像素

完全可以用ImageMagick解决这个问题,针对扫描件字母内部的孤立白点(被黑色完全包围的白色像素),有两种常用方案:

方案1:形态学闭运算

闭运算通过先膨胀再腐蚀的逻辑,能自动填充黑色区域内的小白色孔洞,适合处理多数小尺寸白点。

命令示例:

convert 输入图片路径 -morphology close diamond:1 输出图片路径
  • diamond:1是指定的结构元素,尺寸为1,对应处理极小的白点;如果白点更大,可将数字改为2、3等,匹配白点实际大小。
  • 若原图不是严格二值图像,建议先添加-threshold 50%参数,确保黑白界限明确:
convert 输入图片路径 -threshold 50% -morphology close diamond:1 输出图片路径

方案2:连通分量分析

如果需要更精准地过滤特定大小的孤立白点,可使用连通分量分析,只移除面积符合阈值的白色区域。

命令示例:

convert 输入图片路径 -connected-components 8 -define connected-components:area-threshold=10 -define connected-components:mean-color=true 输出图片路径
  • 8表示采用8邻域连通规则(识别上下左右及四个对角线方向的相邻像素);
  • area-threshold=10设置过滤阈值,面积小于10像素的白色区域会被移除(可根据实际白点大小调整数值);
  • mean-color=true表示用周围像素的平均颜色(此处为黑色)替换被过滤的白色区域。

内容的提问来源于stack exchange,提问作者Flux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 22:55:34