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

实现了再次采集人脸:

 

 

 

 

 

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

posted @ 2021-01-15 13:56  oldxi  阅读(406)  评论(0编辑  收藏  举报