本文是"基于flask+opencv+sklearn+tensorflow人脸识别系统"的续篇,主要说明在线进行人脸识别,主要分为超级链接人脸识别、图片上抟人脸识别、网页摄像人脸识别等内容。
一 、超级链接人脸识别
首先在项目的template目录下新建首页index.html,并在网页body标签内使用以下代码:
<div align="center">
<h2>在线人脸识别</h2>
<a href="/she/">打开摄像头识别</a>
<p style='color:red'>请按键盘上的p键停止摄像头识别</p>
</div>
效果如下所示:
其次在项目下新建main.py文件,主要使用Flask框架完成首页和“/she/”两个web访问路由,并在“/she/”访问路由下完成人脸识别,代码如下所示:
from flask import Flask,render_template
from cameraDemo import Camera_reader
app=Flask(__name__)
@app.route('/',methods=['POST','GET'])
def init():
return render_template('index.html',title='Home')
@app.route('/she/')
def she():
camera=Camera_reader()
camera.build_camera()
return render_template('index.html',title='Home')
if __name__ =='__main__':
app.run(debug=True)
注意:人脸识别窗口关闭需要按键盘上的P键。
二 、图像上传人脸识别
首先在首页index.html中的body标签中构建一个文件上传表单,新增主要代码如下:
<form action="/" method="post" enctype="multipart/form-data">
上传文件<input type="file" name="photo" >
<input type="submit" value="提交">
<input type="reset" value="重置">
</form>
效果如下:
其次,在main.py增加接收上传文件代码,并将结果通过show.html网页将上传图片和结果展现出来,新增主要代码如下::