项目实训(八)---封装后端视频人脸检测相关代码

该博客介绍了将视频中人脸识别代码进行封装,对外提供接口的过程。优化了文件存储结构,支持处理单个或多个视频中的人物,并规范了结果存储。测试阶段解决了路径问题,对于单人物和多人物情况,分别存储为csv和json格式。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

这一部分主要进行的工作是把视频中人脸识别部分代码进行封装,对外提供接口。

目录

代码完善:

文件存储结构:

对外接口:

测试:

结果规范:


代码完善:

1.这里设计了存储结构,规范了结果保存形式。

2.从单个视频处理,改进成文件夹下遍历处理gif

3.判断处理单个或者多个人物,进行不同的处理

4.抽取代码中散落的各种地址,以传参形式,进行统一处理

文件存储结构:

我们商讨的文件存储结构如图:

Resources下的文件结构是我这部分的,结构如下:

对外接口:

def main(id,name,root_path,resources_path,path_GIF,path_orignalVideo):
    getFaceDB(id,name,root_path,resources_path)
    #判断faceS下有几个文件夹    
    path_1=root_path+'/Resources/faceS'
    people = os.listdir(path_1)
    #如果一个,调用原视频
    if len(people)==1:
        face_recognition(id, path_orignalVideo, root_path, resources_path)
    else:
        # 如果多于一个,遍历gif目录处理
        gif = os.listdir(path_GIF)
        for i in gif:
            path_gif = path_GIF + '/' + i
            face_recognition(id, path_gif, root_path, resources_path)

测试:

def start(id,name):
#整个Resource所在文件夹
    root_path=r'C:/Users/DELL/Desktop/Face_Recognition-master'
#人脸预测器的位置 && python程序所在地址
    resources_path=os.path.abspath("") + "\Resources\\"
#关键帧后gif所在位置
    path_Gif=path = root_path + '/Resources/gif'
#原视频所在位置
    path_orignalVideo=r'C:\Users\DELL\Desktop\Face_Recognition-master\Resources\shipin.mp4'
#测试
    main(id,name,root_path,resources_path,path_Gif,path_orignalVideo)

结果规范:

封装后进行了测试,其中遇到部分路径没有规范好的问题,在测试中进行了解决。

不同于前面只是打印出来结果,这里对结果进行了一个规范化的存储:

单人物:记录gif的地址和目标人物出现次数,结果存储成.csv。

 多人物:记录整个影片,目标的多个人物出现的时间点,存储成json,返回前端。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值