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

Python如何对比两张同尺寸图像并将匹配像素替换为黑色

Python实现两张图像匹配位置置黑方案

完整可运行代码

import numpy as np

# 示例图像数组
img1 = np.array([[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]])
img2 = np.array([[[1,1,1],[1,1,1]],[[3,3,3],[1,1,1]]])

# 生成像素匹配掩码:对应位置三个通道全相等则为True
match_mask = (img1 == img2).all(axis=-1)

# 拷贝img1作为结果基底,避免修改原始图像数据
result = img1.copy()
# 匹配位置替换为黑色像素
result[match_mask] = [0, 0, 0]

print(result)

输出结果

[[[0 0 0]
  [2 2 2]]

 [[0 0 0]
  [4 4 4]]]

逻辑说明

  • (img1 == img2) 逐元素对比两个数组的每个值,返回和原图像同形状的布尔数组,相等位置为True
  • .all(axis=-1) 沿最后一个维度(RGB通道维度)做全匹配判断,只要有一个通道值不同,就判定为像素不匹配,最终得到高×宽形状的布尔掩码
  • 该逻辑对常规0-255范围的uint8类型真实图像(PIL、OpenCV读取的图像都属于该类型)完全通用,无需调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:06:04