我正在尝试实现一个代码,以获得眼睛的质心并跟踪眼球运动以控制轮椅。应用于图像的代码是:
import cv2
import numpy as np
image = cv2.imread('eye pupil.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cl1 = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
clahe = cl1.apply(gray)
bw = cv2.adaptiveThreshold(clahe, 255, cv2.ADAPTIVE_THRESH_MEAN_C,\
cv2.THRESH_BINARY, 21, 12)
kernel = np.ones((5,5), np.uint8)
opening = cv2.morphologyEx(bw, cv2.MORPH_OPEN, kernel, iterations=3)
img, contours, hierarchy = cv2.findContours(opening, cv2.RETR_TREE,
cv2.CHAIN_APPROX_SIMPLE)
draw = cv2.drawContours(image, contours, 5, (0,0,255), 2)
cv2.imshow('draw', draw)
cv2.waitKey(0)
cv2.destroyAllWindows()
,输出为:
我写的代码绝对是一个非常好的质心开始。但是,当我尝试在视频上实现这一点时,输出非常小。
在视频代码中,我使用haarcascade_righteye_2splits.xml
或haarcascade_leftteye_2splits.xml
更具体地了解相机的检测内容。
任何帮助我如何在视频上左右,右侧和闪烁进行眼睛瞳孔跟踪代码。
我正在使用OpenCV 3.1.0-dev和Python 2.7.x