跳至主要內容

opencv 在大图去除指定图片

muzzik小于 1 分钟笔记图像处理OpenCV

  • color_img1:大图
  • a.png:小图
# 透明度遮罩
alpha = cv.imread('a.png', cv.IMREAD_UNCHANGED);
# 转为透明通道(单通道)
alpha = img2[:,:,3]
# 透明度小于20的变成黑色
alpha[alpha<=20] = 0
# 转为 4 通道
alpha = cv.cvtColor(alpha, cv.COLOR_GRAY2BGRA)

# 获取 color_img1 图片中 alpha 对应位置的像素
roi = color_img1[top_left[1]:top_left[1]+h, top_left[0]:top_left[0]+w]
# 在 roi 减去 alpha 中黑色像素(透明区域)并输出到 roi
cv.subtract(roi, alpha, roi)

获取小图在大图中的位置自己选择,特征匹配,角点匹配,模板匹配,dnn匹配...

📣 觉得很赞?分享给你的朋友吧!