通过级联器识别手部代码
时间: 2023-09-29 22:05:21 浏览: 139
以下是一个使用 OpenCV 中的级联器(Haar 特征)进行手部检测的代码示例:
```python
import cv2
# 加载手部分类器
hand_cascade = cv2.CascadeClassifier('path/to/your/haarcascade_hand.xml')
# 加载图像
img = cv2.imread('path/to/your/image.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 检测手部
hands = hand_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# 绘制手部框
for (x, y, w, h) in hands:
cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2)
# 显示结果
cv2.imshow('Hand Detection', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`path/to/your/haarcascade_hand.xml` 是你下载的手部分类器的路径,`path/to/your/image.jpg` 是你要检测的图像路径。`scaleFactor` 表示每次缩放图像的比例,`minNeighbors` 表示每个候选矩形必须要与其他多少个矩形有一定的重叠部分才能被保留下来,`minSize` 表示矩形的最小尺寸。你可以根据具体的应用场景进行调整。