【发布时间】:2013-01-23 00:07:18
【问题描述】:
我想从实时视频流中检测我的手并创建我手的蒙版。但是,正如您从图片中看到的那样,我的结果很差。
我的目标是跟踪手部运动,所以我所做的是将视频流从 BGR 转换为 HSV 颜色空间,然后我对图像进行阈值化以隔离我手的颜色,然后我试图找到轮廓我的手,虽然最终的结果并不是我想要达到的。
如何改进最终结果?
import cv2
import numpy as np
cam = cv2.VideoCapture(1)
cam.set(3,640)
cam.set(4,480)
ret, image = cam.read()
skin_min = np.array([0, 40, 150],np.uint8)
skin_max = np.array([20, 150, 255],np.uint8)
while True:
ret, image = cam.read()
gaussian_blur = cv2.GaussianBlur(image,(5,5),0)
blur_hsv = cv2.cvtColor(gaussian_blur, cv2.COLOR_BGR2HSV)
#threshould using min and max values
tre_green = cv2.inRange(blur_hsv, skin_min, skin_max)
#getting object green contour
contours, hierarchy = cv2.findContours(tre_green,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
#draw contours
cv2.drawContours(image,contours,-1,(0,255,0),3)
cv2.imshow('real', image)
cv2.imshow('tre_green', tre_green)
key = cv2.waitKey(10)
if key == 27:
break
这里是图片链接:https://picasaweb.google.com/103610822612915300423/February7201303。 带有图像加轮廓、蒙版和原件的新链接。 https://picasaweb.google.com/103610822612915300423/February7201304
这是上面的示例图片:
【问题讨论】:
-
包括您遇到问题的示例视频,否则尝试猜测您实际使用的是什么是毫无意义的。
-
我无法上传图片,因为我没有足够的声望点:(
-
只包含一个链接。并包含指向 /video/ 的链接,而不是单个帧。
-
这是一个直播。你想要它的样本吗?
-
我不知道那是什么,只是提供一个你正在使用的样本。
标签: python opencv computer-vision