分享有关Python人脸识别的代码-图像扩展和腐蚀,动态人脸识别以及图像人脸识别
摘要:今天分享有关Python图像扩展和腐蚀,图像人脸识别和动态人脸识别的代码。
今天分享有关Python图像扩展和腐蚀,图像人脸识别和动态人脸识别的代码。
Python图像扩展和腐蚀
图像的膨胀和腐蚀主要是为了找到图像中的最大和最小面积。代码中的结构元素意味着:有两个图像B和X。如果X是要处理的对象,而B用于处理X,则B称为结构元素,也称为刷子。结构元素通常是相对较小的图像。
"""图片膨胀与腐蚀"""
import cv2
#读取图片:cv2.imread(路径,num)
img = cv2.imread("1.jpg",0)
#构造一个3*3的结构元素
elment = cv2.getStructuringElement(cv2.MORPH_RECT,(3,3))
#膨胀图像cv2.dilate(图像,元素结构)
dilate = cv2.dilate(img,elment)
#腐蚀图像cv2.erode(图像,元素结构)
erode = cv2.erode(img,elment)
#将两幅图像相减获得边,第一个参数是膨胀后的图像,第二个参数是腐蚀后的图像
result = cv2.absdiff(dilate,erode)
#阈值类型:'TERM_CRITERIA_COUNT', 'TERM_CRITERIA_EPS', 'TERM_CRITERIA_MAX_ITER',
# 'THRESH_BINARY', 'THRESH_BINARY_INV', 'THRESH_MASK', 'THRESH_OTSU',
# 'THRESH_TOZERO_INV', 'THRESH_TRIANGLE', 'THRESH_TRUNC'
retval,result = cv2.threshold(result,50,255,cv2.THRESH_BINARY);
#反色,即对二值图像每个像素取反
result = cv2.bitwise_not(result);
#显示图像
cv2.imshow('origin',img)
#原图
cv2.imshow('result',result)
#边缘检测图
cv2.waitKey(0)
cv2.destroyAllWindows()
动态人脸识别
动态人脸识别不需要停止等待,只要出现在一定的识别范围内,无论是走路还是站着,系统都会自动识别它,也就是说,如果人们以自然的方式走过去 ,相机将继续捕获和收集信息,并发布用于动态人脸识别的指令。
第一件事是基于面部器官的形状描述和它们之间的间隔特性,获得有助于面部分类的特征数据。特征权重通常包括特征点之间的欧氏间隔,曲率和视点。
import cv2
# 1.使用OpenCV的分类器
# 2.从摄像头或本地中读取照片
# 3.在图片上换框
# 4.在新窗口上展示图片
# 1.使用OpenCV的分类器/特征库
detector = cv2.CascadeClassifier('haarcascade_frontalface_alt2.xml')
# 2.从摄像头或本地中读取照片
cap = cv2.VideoCapture(0)
while True:
ret,img = cap.read()
faces = detector.detectMultiScale(img,1.3,5)
# 3.在图片上换框
for (x,y,w,h) in faces:
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.imshow('frame',img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 4.在新窗口上展示图片
cap.release()
cv2.destroyAllWindows()
图片人脸识别
图像人脸识别分为以下步骤:
图像灰度,几何变换,图像增强,归一化,特征点定位,面部对齐和面部特征捕获。
"""人脸检测"""
import cv2
#调用人脸检测特征库
face = cv2.CascadeClassifier('haarcascade_frontalface_alt2.xml')
#读取图像文件
sample_imag = cv2.imread('1.jpg')
#人脸检测
faces = face.detectMultiScale(sample_imag,scaleFactor=1.1,minNeig hbors=5,minSize=(10,10))
#画框处理
for (x,y,w,h) in faces:
cv2.rectangle(sample_imag,(x,y),(x+w,y+h),(0,255,0),2)
#结果写入图像
cv2.imwrite('face.jpg',sample_imag)
print("detect success")
#新建窗口显示图像
cv2.namedWindow("Image")
cv2.imshow("Image",sample_imag)
cv2.waitKey(0)
cv2.destroyAllWindows()
相关热词搜索:Python 人脸识别 代码 图像扩展和腐蚀 图像人脸识别 动态人脸识别
上一篇:如何设计电商网站的导航栏?
下一篇:当下最热门的企业网站类型包括哪些?
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了