zoukankan      html  css  js  c++  java
  • openmv4人脸采集

    学习教程:https://singtown.com/learn/50033/

    本篇文章分享一下使用LBP特征采集不同的人脸。

    我们需要先建立自己的图像库。我们先在OpenMV的U盘(注意一定要插sd卡)中新建一个文件夹,命名为myselfpgm,然后在myselfpgm文件夹中再新建n个名为s1,s2,s3...sn的子文件夹,其中n为整个图像库中的人数。如下图:

    然后,我们可以运行以下代码来采集不同的人脸样本。注意采集时尽量让背景均匀,并且让人脸尽量充满整个画面。人脸可以微笑,不笑,正脸,歪头,戴眼镜,不戴眼镜等。可以选择每人10-20张图片。

    代码如下:

    import sensor, image, pyb
    
    RED_LED_PIN = 1
    BLUE_LED_PIN = 3
    
    sensor.reset() # Initialize the camera sensor.
    sensor.set_pixformat(sensor.GRAYSCALE) # or sensor.GRAYSCALE
    sensor.set_framesize(sensor.B128X128) # or sensor.QQVGA (or others)
    sensor.set_windowing((92,112))
    sensor.skip_frames(10) # Let new settings take affect.
    sensor.skip_frames(time = 2000)
    
    num = 3 #设置被拍摄者序号,第一个人的图片保存到s1文件夹,第二个人的图片保存到s2文件夹,以此类推。每次更换拍摄者时,修改num值。
    
    n = 20 #设置每个人拍摄图片数量。
    
    #连续拍摄n张照片,每间隔3s拍摄一次。
    while(n):
        #红灯亮
        pyb.LED(RED_LED_PIN).on()
        sensor.skip_frames(time = 1000) # Give the user time to get ready.等待3s,准备一下表情。
    
        #红灯灭,蓝灯亮
        pyb.LED(RED_LED_PIN).off()
        pyb.LED(BLUE_LED_PIN).on()
    
        #保存截取到的图片到SD卡
        print(n)
        sensor.snapshot().save("myselfpgm/s%s/%s.pgm" % (num, n) ) # or "example.bmp" (or others)
    
        n -= 1
    
        pyb.LED(BLUE_LED_PIN).off()
    
    print("Done! Reset the camera to see the saved image.")

    拍摄结束后OpenMV U盘中图像如下(注意每次OpenMV u盘写入新图像/文件后需要重置OpenMV才可以看到):

    另外还需下载一个pgm看图软件(photos opener)才能打开pgm格式图片:

    如果写入新图像/文件后没有重置OpenMV,会出现下面的情况:

    经过百度之后,参考视频教程:https://jingyan.baidu.com/article/454316ab597670f7a7c03ab9.html

    实现了再次采集人脸:

    正是步行者,一步步登峰!

  • 相关阅读:
    nginx安装配置: configure命令
    nginx最简安装
    进程上下文切换
    九卷读书:《操作系统设计与实现》读书笔记
    计算机存储器的层次结构
    线程,进程和并发
    理解Flight框架核心
    Ubuntu16.04安装QQ机器人
    微信支付解决方案
    springboot +nginx +freemarker 模板的简单集成
  • 原文地址:https://www.cnblogs.com/ouyangmail/p/14281685.html
Copyright © 2011-2022 走看看