使用opencv python进行面部去除
嗨,我想用基于肤色的方法检测和跟踪手部,但我不需要在输出视频中看到人脸或任何肤色(我的意思是我只需要左手跟踪)。 谢谢使用opencv python进行面部去除,python,opencv,Python,Opencv,嗨,我想用基于肤色的方法检测和跟踪手部,但我不需要在输出视频中看到人脸或任何肤色(我的意思是我只需要左手跟踪)。 谢谢 你可以训练。它适用于人脸检测,也适用于手部检测谢谢vitalii我训练OpenCV haar cascades,但效果不好,所以我想使用肤色,我只想hand@AmoorEng也许你的训练/验证设置不是很好?无论如何,基于肤色的算法将有很多启发,它不是通用的解决方案。也许你会尝试像Theano或CaffeThanks这样的深度学习框架。我会看看Theano或Caffe impor
你可以训练。它适用于人脸检测,也适用于手部检测谢谢vitalii我训练OpenCV haar cascades,但效果不好,所以我想使用肤色,我只想hand@AmoorEng也许你的训练/验证设置不是很好?无论如何,基于肤色的算法将有很多启发,它不是通用的解决方案。也许你会尝试像Theano或CaffeThanks这样的深度学习框架。我会看看Theano或Caffe
import cv2
import numpy as np
# Range for finding skin color in YCrCb
Low_YCrCb = np.array([0,125,80],np.uint8)
High_YCrCb = np.array([255,169,133],np.uint8)
while True
# grab frames from Video
_, img = videoFrame.read()
# Convert to YCrCb --
img_YCrCb = cv2.cvtColor(img, cv2.COLOR_BGR2YCR_CB)
# Find ROI in YCrCb
skin_ROI = cv2.inRange(img_YCrCb, Low_YCrCb, High_YCrCb)
# Find contour in skin region
_, contours, _= cv2.findContours(skinROI, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# Draw the contour --
for i, cnt in enumerate(contours):
area = cv2.contourArea(cnt)
if area > 500:
cv2.drawContours(img, contours, i, (255, 0, 0), 2)
# Results
cv2.imshow('Result',img)
cv2.waitKey(0)
cv2.destroyWindow('Result')
videoFrame.release()