关于利用瞳孔识别判断眨眼次数的问题
-
最初的想法就是通过瞳孔识别进行眨眼次数的判断,当闭眼时,则无法识别到瞳孔,则num加一。我是通过调取瞳孔识别函数的返回的一个固定值,作为标志项,进行判断的,但是发现几个问题,一个是打印出的num速度过快,加了定时器还是一样的结果。还有就是将第一个判断语句的等号变成不等号,那代码将不往下执行打印,但显然当识别不到瞳孔的时候,标志不相等应该是恒成立的。代码如下,求大佬解惑
import sensor, time, image from pyb import Timer sensor.reset() sensor.set_contrast(3) sensor.set_gainceiling(16) sensor.set_framesize(sensor.VGA) sensor.set_windowing((220, 190, 200, 100)) sensor.set_pixformat(sensor.GRAYSCALE) num=0 flag=0 eyes_cascade = image.HaarCascade("eye", stages=24) clock = time.clock() while (True): clock.tick() img = sensor.snapshot() eyes = img.find_features(eyes_cascade, threshold=0.5, scale_factor=1.5) for e in eyes: iris = img.find_eye(e) img.draw_rectangle(e) img.draw_cross(iris[0], iris[1]) a=str(img.draw_cross(iris[0], iris[1]).copy()) flag=int(a[5]) def ad(timer): global num num=num+1 tim = Timer(2, freq=1) if flag==2: tim.callback(ad) print(num) else: print(1)
-
openmv精度不够