本节分享一下使用LBP特征分辨不同的人脸。
我们需要先建立自己的图像库。我们先在OpenMV的U盘(注意一定要插sd卡)中新建一个文件夹,命名为singtown,然后在singtown文件夹中再新建n个名为s1,s2,s3…sn的子文件夹,其中n为整个图像库中的人数。如下图:
然后,我们可以运行以下代码来采集不同的人脸样本。注意采集时尽量让背景均匀,并且让人脸尽量充满整个画面。人脸可以微笑,不笑,正脸,歪头,戴眼镜,不戴眼镜等。可以选择每人10-20张图片。
保存图像到U盘中.py
# 运行以下代码来采集不同的人脸样本
#
# Note: You will need an SD card to run this example.
#
# 注意采集时尽量让背景均匀,并且让人脸尽量充满整个画面。人脸可以微笑,不笑,正脸,歪头,戴眼镜,不戴眼镜等。可以选择每人10-20张图片
# You can use your OpenMV Cam to save image files.
import sensor, image, pyb
RED_LED_PIN = 1
BLUE_LED_PIN = 3
sensor.reset() # 感光元件初始化
sensor.set_pixformat(sensor.GRAYSCALE) # 设置格式为灰度图
sensor.set_framesize(sensor.B128X128) # 设置图像大小为128*128(或QQVGA)
sensor.set_windowing((92,112)) # 设置窗口大小为92*112
sensor.skip_frames(10) # 跳过10帧,让设置生效 Let new settings take affect.
sensor.skip_frames(time = 2000) # 等待2s(跳过2000毫秒的帧数)
# 如果两个参数都有指定sensor.skip_frames( 10 , time = 2000 ),则跳过10帧后延迟2000毫秒
num = 1 #设置被拍摄者序号,第一个人的图片保存到s1文件夹,第二个人的图片保存到s2文件夹,以此类推。每次更换拍摄者时,修改num值。