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

Ubuntu下自动合并两幅二值图像并保留白色像素的方法

解决二值图像合并白像素的问题

嘿,这事儿其实很简单!你要的是把两幅图里的所有白色像素都保留下来(相当于像素层面的逻辑或操作),composite的-blend参数确实不对路——它是用来做色彩渐变混合的,不是干这个的。

给你两个靠谱的解决方案,都是基于ImageMagick的:

方法1:用composite命令的-compose or参数

直接对两幅图做像素逻辑或运算,黑像素(0)和白像素(255)的或运算正好能保留所有白区域:

composite -compose or image1.png image2.png result.png

方法2:用convert命令的-evaluate-sequence max

另一种思路是取两幅图对应像素的最大值——白像素的亮度值是255,是最大值,所以不管哪幅图里有白像素,结果里都会保留:

convert image1.png image2.png -evaluate-sequence max result.png

额外:快速生成测试用的image1和image2

如果你还没生成测试图,可以用这两条命令快速创建:

# 生成image1.png:20x20黑底,(10,10)和(11,11)为白
convert -size 20x20 xc:black -draw "point 10,10 point 11,11" image1.png

# 生成image2.png:20x20黑底,(5,4)为白
convert -size 20x20 xc:black -draw "point 5,4" image2.png

为什么-blend不行?举个例子,-blend 50x50会把两个像素值取平均,黑(0)加白(255)会得到灰色(127),这完全不符合你要的纯黑纯白二值图需求,所以肯定用错参数啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:27:46