以下是关于“Opencv 实现眼睛控制鼠标的实践”的完整攻略,其中包含两个示例说明。
在使用 Opencv 实现眼睛控制鼠标之前,我们需要导入一些必要的库,包括cv2
和numpy
。
import cv2
import numpy as np
加载眼睛分类器。
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
打开摄像头并开始捕获视频。
cap = cv2.VideoCapture(0)
使用分类器检测眼睛。
while True:
ret, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
eyes = eye_cascade.detectMultiScale(gray, 1.3, 5)
for (ex, ey, ew, eh) in eyes:
cv2.rectangle(img, (ex, ey), (ex+ew, ey+eh), (0, 255, 0), 2)
cv2.imshow('img', img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
使用以下命令关闭摄像头。
cap.release()
cv2.destroyAllWindows()
通过以上步骤,我们可以使用 Opencv 实现眼睛检测,并成功地输出了结果。
在使用 Opencv 实现眼睛控制鼠标之前,我们需要导入一些必要的库,包括cv2
、numpy
和pyautogui
。
import cv2
import numpy as np
import pyautogui
加载眼睛分类器。
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
打开摄像头并开始捕获视频。
cap = cv2.VideoCapture(0)
使用分类器检测眼睛,并根据眼睛的位置控制鼠标。
while True:
ret, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
eyes = eye_cascade.detectMultiScale(gray, 1.3, 5)
for (ex, ey, ew, eh) in eyes:
cv2.rectangle(img, (ex, ey), (ex+ew, ey+eh), (0, 255, 0), 2)
x = ex + ew / 2
y = ey + eh / 2
pyautogui.moveTo(x, y)
cv2.imshow('img', img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
使用以下命令关闭摄像头。
cap.release()
cv2.destroyAllWindows()
通过以上步骤,我们可以使用 Opencv 实现眼睛控制鼠标,并成功地输出了结果。
本文链接:http://task.lmcjl.com/news/5220.html