这一部分主要进行的工作是把视频中人脸识别部分代码进行封装,对外提供接口。
目录
代码完善:
文件存储结构:
对外接口:
测试:
结果规范:
代码完善:
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条)