资源简介
STM32人脸识别代码,正点原子探索者板使用。

代码片段和文件信息
#include “atk_frec.h“
#include “malloc.h“
#include “ff.h“
#include “stdio.h“
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//本人脸识别程序由ALIENTEK提供我们提供1个LIB(即:ATKFREC.lib)供大家使用
//功能:利用摄像头实现人脸识别.
//说明:本识别库需要用到内存管理内存总占用数在560KB左右(20个人脸).每增加一张人脸内存占增加10KB左右.
//限制:由于本识别库以M3/M4为目标处理器内存有限算法上进行了大量阉割所以很多功能不太完善效果也不是
// 很好.且没有做识别有效检查(输入错误的人脸也会有结果输出).所以次代码仅供大家参考用.
//
//其他需求:
//1摄像头模块一个.
//2SD卡一张
//
//使用方法:
//第一步:调用atk_frec_initialization函数初始化人脸识别库
//第二步:调用atk_frec_add_a_face函数添加人脸模板(如果已经有了可以忽略次步)
//第三步:调用atk_frec_load_data_model函数加载所有模板到内存里面(仅在添加新模板后需要如没有添加新模板则可忽略此步)
//第四步:调用atk_frec_recognition_face函数获取识别结果.
//第五步:调用atk_frec_delete_data函数可以删除一个人脸模板
//第六步:如果不想再用识别库则调用atk_frec_destroy函数释放所有内存结束人脸识别.
//
//版本:V1.0
//正点原子@ALIENTEK
//Copyright(C) 广州市星翼电子科技有限公司 2009-2019
//All rights reserved
//版权所有,盗版必究。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//内存设置函数
void atk_frec_memset(char *pchar cunsigned long len)
{
mymemset((u8*)p(u8)c(u32)len);
}
//内存申请函数
void *atk_frec_malloc(unsigned int size)
{
return mymalloc(SRAMEXsize);
}
//内存释放函数
void atk_frec_free(void *ptr)
{
myfree(SRAMEXptr);
}
//保存人脸识别所需的数据
//index:要保存的数据位置(一张脸占一个位置)范围:0~MAX_LEBEL_NUM-1
//buf:要保存的数据缓存区首地址
//size:要保存的数据大小
//返回值:0正常
// 其他错误代码
u8 atk_frec_save_data(u8 indexu8* bufu32 size)
{
u8* path;
FIL *fp;
u32 fw;
u8 res;
path=atk_frec_malloc(30); //申请内存
fp=atk_frec_malloc(sizeof(FIL)); //申请内存
if(!fp)
{
atk_frec_free(path);
return ATK_FREC_MEMORY_ERR;
}
sprintf((char*)pathATK_FREC_DATA_PNAMEindex);
f_mkdir(ATK_FREC_DATA_PDIR); //创建文件夹
res=f_open(fp(char*)pathFA_WRITE|FA_CREATE_NEW);
if(res==FR_OK)
{
res=f_write(fpbufsize&fw); //写入文件
}
f_close(fp);
if(res)res=ATK_FREC_READ_WRITE_ERR;
atk_frec_free(path);
atk_frec_free(fp);
return res;
}
//读取人脸识别所需的数据
//index:要读取的数据位置(一张脸占一个位置)范围:0~MAX_LEBEL_NUM-1
//buf:要读取的数据缓存区首地址
//size:要读取的数据大小(size=0则表示不需要读数据出来)
//返回值:0正常
// 其他错误代码
u8 atk_frec_read_data(u8 indexu8* bufu32 size)
{
u8* path;
FIL *fp;
u32 fr;
u8 res;
path=atk_frec_malloc(30); //申请内存
fp=atk_frec_malloc(sizeof(FIL)); //申请内存
if(!fp)
{
atk_frec_free(path);
return ATK_FREC_MEMORY_ERR;
}
sprintf((char*)pathATK_FREC_DATA_PNAMEindex);
res=f_open(fp(char*)pathFA_READ);
if(res==FR_OK&&size)
{
res=f_read(fpbufsize&fr); //读取文件
if(fr==size)res=0;
else res=ATK_FREC_READ_WRITE_ERR;
}
f_close(fp);
if(res)res=ATK_FREC_READ_WRITE_ERR;
atk_frec_free(path);
atk_frec_free(fp);
return res;
}
//删除一个人脸数据
//index:要保存的数据位置(一张脸占一个位置)范围:0~MAX_LEBEL_NUM-1
//返回值:0正常
// 其他错误代码
u8 atk_frec_delete_data(u8 index)
{
u8* path;
u8 res;
path=atk_frec_malloc(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-17 15:43 人脸识别代码\
目录 0 2015-10-02 16:19 人脸识别代码\ATKFREC\
文件 118374 2015-10-02 12:57 人脸识别代码\ATKFREC\ATKFREC.lib
文件 3792 2015-10-02 16:08 人脸识别代码\ATKFREC\atk_frec.c
文件 4653 2015-10-02 16:08 人脸识别代码\ATKFREC\atk_frec.h
文件 1405 2015-10-02 16:08 人脸识别代码\ATKFREC\readme.txt
目录 0 2015-10-02 16:19 人脸识别代码\FATFS\
目录 0 2015-10-02 16:19 人脸识别代码\FATFS\doc\
文件 3248 2014-01-15 00:31 人脸识别代码\FATFS\doc\css_e.css
文件 3661 2014-01-15 00:31 人脸识别代码\FATFS\doc\css_j.css
目录 0 2018-10-17 15:43 人脸识别代码\FATFS\doc\en\
目录 0 2015-10-02 16:19 人脸识别代码\FATFS\doc\img\
文件 1063 2013-09-18 21:47 人脸识别代码\FATFS\doc\img\app1.c
文件 1597 2013-10-18 21:41 人脸识别代码\FATFS\doc\img\app2.c
文件 3811 2014-01-13 20:56 人脸识别代码\FATFS\doc\img\app3.c
文件 10365 2014-01-07 15:10 人脸识别代码\FATFS\doc\img\app4.c
文件 1414 2011-09-02 22:10 人脸识别代码\FATFS\doc\img\f1.png
文件 1458 2007-02-10 03:12 人脸识别代码\FATFS\doc\img\f2.png
文件 1039 2007-02-10 03:12 人脸识别代码\FATFS\doc\img\f3.png
文件 2335 2008-01-05 20:27 人脸识别代码\FATFS\doc\img\f4.png
文件 2479 2008-01-05 20:27 人脸识别代码\FATFS\doc\img\f5.png
文件 1436 2010-08-21 10:13 人脸识别代码\FATFS\doc\img\f6.png
文件 11388 2013-05-12 12:31 人脸识别代码\FATFS\doc\img\f7.png
文件 11421 2014-02-19 22:38 人脸识别代码\FATFS\doc\img\funcs.png
文件 2401 2009-03-20 21:57 人脸识别代码\FATFS\doc\img\la
文件 2379 2009-06-13 21:48 人脸识别代码\FATFS\doc\img\la
文件 7932 2013-12-27 12:20 人脸识别代码\FATFS\doc\img\modules.png
文件 19068 2008-10-18 19:31 人脸识别代码\FATFS\doc\img\rwtest.png
文件 8153 2010-09-13 10:55 人脸识别代码\FATFS\doc\img\rwtest2.png
文件 3011 2009-06-15 00:03 人脸识别代码\FATFS\doc\img\rwtest3.png
目录 0 2018-10-17 15:43 人脸识别代码\FATFS\doc\ja\
............此处省略198个文件信息
相关资源
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- 一个人脸识别程序源码
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- LDA 人脸识别
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
- STM32的PCB封装库,以及原理图库,48
- SX1280.rar
- STM32 DS3231驱动.zip
- STM32F103C8T6+NRF24l01无线通信
- 21天学会嵌入式开发STM32.zip
评论
共有 条评论