M5StickV瞳孔检测-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2004|回复: 0

M5StickV瞳孔检测

[复制链接]
发表于 2019-12-23 17:03 | 显示全部楼层 |阅读模式
转自Openmv的基础案例,为了尽可能的提高画面帧率,将分辨率设定为QQVGA,LCD显示设定为160x120大小以获得较好体验。

[mw_shl_code=python,true]import sensor, time, image, lcd

# Reset sensor
sensor.reset()

# Sensor settings
sensor.set_contrast(3) #图像对比度(-3~+3)
sensor.set_gainceiling(16)#设置图像增益2, 4, 8, 16, 32, 64, 128
# Set resolution to QVGA.
sensor.set_framesize(sensor.QQVGA)

sensor.set_windowing((160, 120))#窗口大小可修改但必须为8的倍数,不合适的长宽比会花屏

sensor.set_pixformat(sensor.GRAYSCALE)#采集灰度

lcd.init()
lcd.rotation(2) #屏幕旋转
# Load Haar Cascade
# 默认情况下,这将使用所有阶段,较低的阶段更快但不太准确。
# 加载眼睛的haar算子
eyes_cascade = image.HaarCascade("eye", stages=24)#stages值设置的小一些可以加速匹配,但会降低准确率print(eyes_cascade)

# FPS clock
clock = time.clock()

while (True):
    clock.tick()
    # Capture snapshot
    img = sensor.snapshot()
    # Find eyes !
    # Note: Lower scale factor scales-down the image more and detects smaller objects.
    # Higher threshold results in a higher detection rate, with more false positives.
    eyes = img.find_features(eyes_cascade, threshold=0.5, scale=1.5)
    #先利用find_features函数识别人眼。image.find_features(cascade, threshold=0.5, scale=1.5),thresholds越大,匹配速度越快,错误率也会上升。scale可以缩放被匹配特征的大小。

    # Find iris
    #在识别到的人眼中寻找瞳孔。
    lcd.display(img)
    for e in eyes:
        iris = img.find_eye(e)
        #image.find_eye((x, y, w, h)),find_eye的参数是一个矩形区域,左上顶点为
        #(x,y),宽w,高h,注意(x,y,w,h)是一个元组,不要漏掉括号()。上行代码中
        #的e即代表识别到的眼睛的矩形区域。
        #find_eye的原理是找到区域中颜色最深处的中心。
        img.draw_rectangle(e)
        img.draw_cross(iris[0], iris[1])
        lcd.display(img)
        #用矩形标记人眼,用十字形标记瞳孔。

    # Print FPS.
    # Note: Actual FPS is higher, streaming the FB makes it slower.
    lcd.draw_string(0,0,str(clock.fps()),lcd.GREEN,lcd.BLACK)
[/mw_shl_code]

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 08:33 , Processed in 0.076170 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表