脚本用的是前面文章中的,人脸库对比的脚本。导入视频,读取视频帧,分析里面出现的人脸。
import cv2
from aip import AipFace
import base64
import sys
""" 你的 APPID AK SK """
def face(filePath):
APP_ID = ''
API_KEY = ''
SECRET_KEY = ''
client = AipFace(APP_ID, API_KEY, SECRET_KEY)
with open(filePath,"rb") as f:
base64_data = base64.b64encode(f.read())
image = str(base64_data,'utf-8')
imageType = "BASE64"
groupIdList = ""
""" 调用人脸搜索 """
a = client.search(image, imageType, groupIdList);
#print(a)
print(a["result"]["user_list"])
fileVideo = str(sys.argv[1])
print('正在载入:')
print(fileVideo)
vc=cv2.VideoCapture(fileVideo) #读入视频文件
c=1
if vc.isOpened(): #判断是否正常打开
rval,frame=vc.read()
else:
rval=False
timeF = 1000 #视频帧计数间隔频率
while rval: #循环读取视频帧
rval,frame=vc.read()
if(c%timeF == 0): #每隔timeF帧进行存储操作
i = 'D:\\tupian\\vi\\hu1'+str(c)+'.jpg'
cv2.imwrite('D:\\tupian\\vi\\hu1'+str(c)+'.jpg',frame) #存储为图像
try:
face(i)
except:
print('errrrrrrrrr')
c=c+1
cv2.waitKey(1)
vc.release()
用了一个胡歌视频测试输出结果如下: