【发布时间】:2020-04-29 22:07:29
【问题描述】:
我有这个 haarcascade 代码,它检测面部并在其周围绘制边界框。我只想在原始图像的原始位置显示边界框区域,并将所有其他部分涂黑,就像我们在 opencv 的颜色检测中所做的那样。有什么办法吗?
cascPath = "haarcascade_frontalface_default.xml"
image = cv2.imread(imagePath)
faceCascade = cv2.CascadeClassifier(cascPath)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
=
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.1,
minNeighbors=5,
minSize=(30, 30),
flags = cv2.CASCADE_SCALE_IMAGE
)
print("Found {0} faces!".format(len(faces)))
for ((x, y, w, h),i) in zip(faces,range(len(faces))):
a=cv2.rectangle(image, (x, y), (x+w, y+h), 2)
roi_color=image[y:y+h, x:x+w]
【问题讨论】:
标签: python-3.x opencv