Python和Opencv中的平滑跟踪
大家好,我是Python和opencv的新手 你能告诉我追踪人类虹膜的最佳方法吗。我已经为iris创建了ROI,但由于实时流,当我将iris的x和y坐标传递给它时,它开始随机移动。当下一帧占用上一帧的空间时,会发生这种情况 我编写了以下代码:Python和Opencv中的平滑跟踪,python,opencv,numpy,tracking,Python,Opencv,Numpy,Tracking,大家好,我是Python和opencv的新手 你能告诉我追踪人类虹膜的最佳方法吗。我已经为iris创建了ROI,但由于实时流,当我将iris的x和y坐标传递给它时,它开始随机移动。当下一帧占用上一帧的空间时,会发生这种情况 我编写了以下代码: import numpy as np import cv2 import time import ctypes face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.x
import numpy as np
import cv2
import time
import ctypes
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
eye_cascade = cv2.CascadeClassifier("haarcascade_righteye_2splits.xml")
cap = cv2.VideoCapture(0)
while True:
ret, img = cap.read()
frame=img
if ret== True:
egray = cv2.cvtColor(img ,cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(egray ,1.3 ,5)
for (x, y, w, h) in faces :
eyes=eye_cascade.detectMultiScale(egray)
for (ex, ey, ew, eh) in eyes :
if (ex>0)&(ey>0)&(ew>0)&(eh>0):
gray=egray[ey+25:ey+eh-10,ex+15:ex+ew-15]
(minVal, maxVal, minLoc, maxLoc) = cv2.minMaxLoc(gray)
ctypes.windll.user32.SetCursorPos(minLoc[0],minLoc[1])
cv2.rectangle(img,(ex,ey),(ex+ew,ey+eh),(255 , 0, 0), 2)
cv2.imshow('Faces',img)
cv2.imshow('Gray',egray)
k = cv2.waitKey(30)& 0xff
if k==27:
break
cap.release()
cv2.destroyAllWindows()