【问题标题】:face Removal using opencv-python使用 opencv-python 进行面部去除
【发布时间】:2016-03-11 16:47:30
【问题描述】:

嗨,我想使用基于肤色的手来检测和跟踪手,但我不需要在输出视频中看到面部或任何肤色(我的意思是我只需要左手来跟踪)。 谢谢

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()

【问题讨论】:

    标签: python opencv


    【解决方案1】:

    你可以训练OpenCV haar cascades。它适用于人脸检测,也适用于手部检测

    【讨论】:

    • 谢谢vitalii 我训练了OpenCV haar cascades,但效果不佳,所以我想使用肤色,我只想要手
    • @AmoorEng 也许你的训练/验证集不是很好?无论如何,基于肤色的算法会有很多启发式方法,它不是通用的解决方案。也许您会尝试深度学习框架,例如 TheanoCaffe
    • 谢谢,我会看到 Theano 或 Caffe
    猜你喜欢
    • 2019-01-17
    • 2013-09-03
    • 2023-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 2013-03-01
    • 2021-11-17
    相关资源
    最近更新 更多