参加2018之江杯全球人工智能大赛 :视频识别&问答(二)

先将视频切分成一帧帧图片,再做后续处理,代码如下:

 1 import cv2
 2 import os
 3 
 4 def capturevideo(file,filedir):
 5     os.mkdir("image/" + filedir)
 6     cap = cv2.VideoCapture(file)
 7     ret,im = cap.read()
 8     count = 0
 9     while ret:
10         ret,im = cap.read()
11         if ret:
12             cv2.imwrite("image/"+filedir+"/"+str(count)+".jpg",im)
13             count = count+1
14     cap.release()
15 
16 rootdir = r"D:\ai\AIE04\VQADatasetA_20180815\train"
17 list = os.listdir(rootdir)
18 for i in range(len(list)):
19     path = os.path.join(rootdir,list[i])
20     filedir = list[i].replace(".mp4","")
21     print(i,list[i])
22     capturevideo(path,filedir)
23 print('finish')

后边的思路是把问题分类,不同的问题提取不同的视频帧进行训练。如问人穿的衣服是什么颜色,则先判断帧中是否有人,将包含人的帧对问题进行训练。

提取了所有帧,这个量就比较大,而且很多帧之间的差别非常小,是否需要再抽样需要思考。

如问题包含颜色,则不能取灰度,否则可以将帧转为灰度图。

posted @ 2018-09-01 07:50  冷于冰  阅读(204)  评论(0编辑  收藏  举报