我们都喜欢haar级联。
此外,在Python OpenCV中,检测输入图像中的人脸非常简单:
import cv2
img = cv2.imread("picture.jpg", 0)
haar_face = "haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(haar_face)
faces = faceCascade.detectMultiScale(img, 1.3, 5)
但是我该如何使用完全相同的方法检测手?
我已经从互联网上搜索,下载并使用了很多xml文件,但是它们的性能都非常差。
有人能指出xml haarcascade文件用于手检测的很好参考吗?
答案 0 :(得分:0)
使用相应的haarcascades文件。 stock set中没有一个,但是有人在https://github.com/Balaje/OpenCV/tree/master/haarcascades上进行了自定义设置。 (免责声明:我没有对其进行测试。)
答案 1 :(得分:0)
由于手可能有不同的姿势,因此使用级联进行手检测将不会提供非常可靠的检测结果。因此,张开手或拳头将需要单独的ha级联。尽管级联不能很好地处理旋转。
如果硬件允许,则可以使用深度神经网络来检测手。 一种非常可靠的方法是检测身体姿势并从那里提取手关键点:
功能非常强大,但资源却非常匮乏/缓慢(必须使用GPU):
https://github.com/CMU-Perceptual-Computing-Lab/openpose
精度较低,但速度更快:
https://github.com/ildoonet/tf-pose-estimation
只是新颖而有希望的,但未经我检验:
https://github.com/tensorlayer/openpose-plus