为什么遮罩mask无论全黑还是全白,原图像都取反?
import cv2import numpy as np
img=cv2.imread('e:/a.jpg')
mask=np.zeros(img.shape,np.uint8)
mask[:,:,:]=0#全黑
#mask[:,:,:]=255#全白
cv2.imshow('img',img)
cv2.imshow('mask',mask)
xxx=cv2.bitwise_not(img,mask)
cv2.imshow('xxx',xxx)
cv2.waitKey()
cv2.destroyAllWindows()
我发觉cv2.bitwise_not(img,mask)的mask完全没任何用处,其它,例如,cv2.bitwise_xor(img,mask)的mask有作用。
回答:
import cv2import numpy as np
img = cv2.imread('e:/a.jpg')
mask = np.zeros(img.shape, np.uint8)
mask[100:200, 100:200] = 255
result = cv2.bitwise_not(img, mask=mask)
cv2.imshow('img', img)
cv2.imshow('mask', mask)
cv2.imshow('result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
回答:
cv2.bitwise_not 的参数是这样的:
bitwise_not( src[, dst[, mask]] ) -> dst
它的第二个参数不是 mask ,而是 dst 。mask 是第三个参数。
你可以用 keyword 参数:
cv2.bitwise_note(img, mask=mask)
以上是 为什么遮罩mask无论全黑还是全白,原图像都取反? 的全部内容, 来源链接: utcz.com/p/938942.html