mask即遮罩的效果,即只关注感兴趣的部位,比如人脸识别就是rol,一般不关注图片中其他非人脸部分,可以用mask实现opencv只显示你感兴趣的部分。
# mask.py
import numpy as np
import os
import cv2 as cv
path="E:\images"
fileNames=os.listdir(path=path)
#images文件下第一张图片
filePath=os.path.join(path,fileNames[0])
img=cv.imread(filename=filePath,flags=cv.IMREAD_COLOR)
cv.imshow("image",img)
mask=np.zeros(img.shape[:2],dtype="uint8")
(cX,cY)=(img.shape[1] // 2,img.shape[0] // 2)
#白色凸显出来(255),忽视黑色部分(0)
cv.rectangle(mask,(cX-75,cY-75),(cX+75,cY+75),255,-1)
cv.imshow("Mask",mask)
masked=cv.bitwise_and(img,img,mask=mask)
cv.imshow("Mask Applied to Image",masked)
cv.waitKey(0)
#cv.destroyAllWindows("image")