def lipSegment(self, img):
# self.t1 = cv2.getTickCount()
lipHull = self.dlib_obj.get_landmarks(img)
cv2.drawContours(img, lipHull, -1, (255, 0, 0), 2)
(x, y), (MA, ma), angle = cv2.fitEllipse(lipHull)
a = ma/2
b = MA/2
eccentricity = sqrt(pow(a, 2)-pow(b, 2))
eccentricity = round(eccentricity/a, 2)
cv2.putText(img, 'E = '+str(round(eccentricity, 3)), (10, 350),
self.font, 1, (255, 0, 0), 1)
if(eccentricity < 0.9):
self.flags.cmd = 'b'
else:
self.flags.cmd = 'f'
if angle < 80:
self.flags.cmd = 'l'
elif angle > 100:
self.flags.cmd = 'r'
cv2.putText(img, 'Cmd = ' + self.flags.cmd, (10, 300), self.font, 1,
(0, 0, 255), 1, 16)
# self.t2 = cv2.getTickCount()
# print "Time = ", (self.t2-self.t1)/cv2.getTickFrequency()
return img
评论列表
文章目录