从视频帧中找到手的轮廓

时间:2019-02-15 18:02:40

标签: opencv opencv-contour

我正在研究一个使用实时视频分析识别手语的项目。我一直在寻找从视频帧中检测手的轮廓。  我确实将帧转换为灰度,找到轮廓点,但是仍然困惑如何绘制轮廓以使图像脱离图像。我确实看到了一些最好用C ++编写的代码,但是我很困惑(我想用python编写代码)。

请对我保持温柔,因为我是openCV的新手,并且不太了解轮廓。

if __name__=="__main__":
    cap = cv2.VideoCapture(0)
    #fgbg = cv2.createBackgroundSubtractorMOG2(history=1, varThreshold=30)
aWeight = 0.5
top, right, bottom, left = 10, 250, 425, 650
while(1):
    ret, frame = cap.read()
    frame = imutils.resize(frame, width=700)
    frame = cv2.flip(frame, 1)
    clone = frame.copy()
    (height, width) = frame.shape[:2]
    roi = frame[top:bottom, right:left]

    gray = cv2.cvtColor(roi, cv2.COLOR_BGR2GRAY)
    gray = cv2.GaussianBlur(gray, (5, 5), 0)

    #hsv = cv2.cvtColor(roi,cv2.COLOR_BGR2HSV)
    ret,thresh = cv2.threshold(gray,127,255,0)
    contour,_ = cv2.findContours(gray,  cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)
    edges = cv2.Canny(gray,100,200)
    print(contour) 
    cv2.drawContours(frame,contour,-1,(0,255,0),3)

我对图像一无所获,因为cv2.imshow()的输出只是我们从canny检测中获得的图像。

0 个答案:

没有答案