【发布时间】:2020-01-25 06:33:54
【问题描述】:
有人能指出他们之间工作的区别吗?我是 OpenCV 的新手,所以他们之间的工作几乎没有混淆。
import cv2
import numpy as np
img1 = cv2.imread('D:\Downloads_Chrome\python.png',cv2.IMREAD_COLOR)
img2 = cv2.imread('D:\Downloads_Chrome\graph2.jpeg',cv2.IMREAD_COLOR)
rows, cols, channel = img1.shape
roi = img2[0:rows, 0:cols]
img1_2gray = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
ret, mask = cv2.threshold(img1_2gray, 220, 255, cv2.THRESH_BINARY_INV)
mask_inv = cv2.bitwise_not(mask)
img2_bg = cv2.bitwise_and(roi,roi,mask=mask_inv)
img1_fg = cv2.bitwise_and(img1,img1,mask=mask)
dest = cv2.add(img2_bg, img1_fg)
img2[0:rows, 0:cols] = dest
cv2.imshow('res',img2)
cv2.imshow('mask_inv',mask_inv)
cv2.imshow('mask',mask)
cv2.imshow('img2_bg',img2_bg)
cv2.imshow('img1_fg',img1_fg)
cv2.imshow('dest',dest)
cv2.imshow('img1_2gray',img1_2gray)
cv2.imshow('image1',img1)
#cv2.imshow('image2',img2)
if cv2.waitKey(0):
cv2.destroyAllWindows()
【问题讨论】:
-
如果您不包含
mask_inv和mask的定义,我们怎么知道? :) -
我希望编辑解决了查询。谢谢。
标签: python-3.x opencv computer-vision