Flask Web 框架中的 OpenCV 人脸检测部署-600学习网

600学习网终身会员188,所有资源无秘无压缩-购买会员

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

介绍

在本文中,我们将介绍使用Flask API部署进行人脸检测。OpenCV是一个用于解决计算机视觉问题的Python库。它用于各种应用,如人脸检测.视频捕获.跟踪运动对象和对象公开。

烧瓶API

Flask是一个广泛使用的微型Web框架,用于在Python中创建API。它是一个简单而强大的Web框架,旨在快速.轻松地启动,并且可以扩展到复杂的应用程序。

什么是Haarcascade

这是一种对象检测算法,用于识别图像或实时视频中的人脸。该算法使用边缘或线检测特征。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

现在让我们继续进行项目实施。

项目结构

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

索引.html

<! DOCTYPE html>

<html>

<link rel=”stylesheet”href=”https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootsstrap.min.css”>

<title>Dharmaraj-人脸检测</title>

<风格>

氢气

padding-底部:20px

字体-重量:600

字体大小:3.2em

</风格>

<车身>

<div class=”container”><center><h2>面部检测</h2></center>

<div class=”col-lg-offset-2 col-lg-8″>

<center><form class=”form-inline”action=”/stop”method=”post”enctype=”multipart/form-data”>

<输入类型=”提交”class=”btn btn-危险btn-md btn-block”值=”停止”>

</形式></中心>

<center><form class=”form-inline”action=”/start”method=”post”enctype=”multipart/form-data”>

<输入类型=”提交”class=”btn btn-success btn-md btn-block”value=”开始”>

</形式></中心><br></div>

<div class=”col-lg-offset-2 col-lg-8″>

<img src=”{{url_for(‘video_capture’)}}”宽度=”100%”>

</div></div>

</车身>

</html>

停止.html

<! DOCTYPE html>

<html>

<link rel=”stylesheet”href=”https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootsstrap.min.css”>

<title>Dharmaraj-人脸检测</title>

<风格>

氢气

padding-底部:20px

字体-重量:600

字体大小:3.2em

</风格>

<车身>

<div class=”容器”>

<中心><h2>面部检测</h2></中心>

<div class=”col-lg-offset-2 col-lg-8″>

<center><form class=”form-inline”action=”/stop”method=”post”enctype=”multipart/form-data”>

<输入类型=”提交”class=”btn btn-危险btn-md btn-block”值=”停止”>

</形式></中心>

<center><form class=”form-inline”action=”/start”method=”post”enctype=”multipart/form-data”>

<输入类型=”提交”class=”btn btn-success btn-md btn-block”value=”开始”>

</形式></中心><br>

</div></div>

</车身>

</html>

应用程序py

从烧瓶导入烧瓶,渲染_模板,响应

导入cv2

app=烧瓶(名称__)

按_帧定义捕获_():

全球照相机

摄像机=cv2.VideoCapture(0)

当为True时:

成功,frame=camera.read()#读取相机帧

检测器=cv2.CascadeClassifier(‘Haarcascades/haarcascade_frontalface_default.xml’)

faces=detect.detectMultiScale(帧,1.2,6)

#在每个面周围画矩形

对于面中的(x,y,w,h):

cv2.矩形(框架,(x,y),(x+w,y+h),(0,255,0),3)

ret,buffer=cv2.imencode(‘.jpg’,帧)

帧=buffer.tobytes()

屈服(b’-框架

b’内容-类型:图像/jpeg’+帧+b”)

应用程序路由(‘/’)

定义索引():

return render _ template(‘index.html’)

@app.route(‘/start’,方法=〔’POST’〕)

def start():

return render _ template(‘index.html’)

@app.route(‘/stop’,方法=〔’POST’〕)

def stop():

如果camera.isOpened():

camera.release()

return render _ template(‘stop.html’)

@app.route(‘/视频_捕获’)

定义视频捕获():

return Response(捕获__by_frames(),mimetype=’multipart/x-mixed-replace边界=框架‘)

如果__name__=”__main__”:

app.run(调试=True,使用__reloader=False,端口=8000)

后果

运行此代码后,您将看到以下屏幕。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

复制此URLhttp://127.0.0.1:8000/and将其粘贴到浏览器中以获得结果。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

免责声明: 1、本站信息来自网络,版权争议与本站无关 2、本站所有主题由该帖子作者发表,该帖子作者与本站享有帖子相关版权 3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和本站的同意 4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责 5、用户所发布的一切软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 6、您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 7、请支持正版软件、得到更好的正版服务。 8、如有侵权请立即告知本站,本站将及时予与删除 9、本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章和视频仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
600学习网 » Flask Web 框架中的 OpenCV 人脸检测部署-600学习网