人脸检测opencv
人脸识别是现在几乎所有的APP都在使用的验证操作, 登陆,支付...等等, 我们今天呢先来说一下人脸检测的操作. 使用Python想要完成人脸检测的操作呢, 我们需要准备一个工具, 这个工具就是 opencv 1. opencv的安装
open 开源 computer 计算机 vision 视觉 :开源计算机视觉库, 是由C++
Python胶水语言,粘结其他语言,调用opencv
这个库可以让计算机长眼睛,计算,可以‘看’!
安装操作 pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple [opencv库] pip install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple [opencv扩展] pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple [numeric python 数字化Python]
安装完毕之后 我们先来简单的使用一下: 2.加载图片import cv2 # 不是引入opencv opencv-python对Python封装的接口 都是存在cv2里的 # 读取图片 img = cv2.imread("./timg.jpg") # 图片的名称不能用汉字 print(img) """ 三维的数据 最里层是像素:[颜色值] 每个像素的颜色值 颜色是由蓝绿红三色调色而成 [ 83 75 82] 蓝色 绿色 红色 每个颜色取值是0-255 值越大 颜色越鲜艳 值越小 颜色就越暗 中间一层 每个像素连接出来的宽度 最外一层 高度 """ # 获取图片的像素值 高 宽 像素3个颜色 print(img.shape) # (1392, 959, 3) shape = img.shape # 重置图片的大小 会把修改大小的图片 resize_img = cv2.resize(img, dsize=(500, int((500/shape[1]) * shape[0]))) # dsize 宽 高 cv2.imwrite("liqin.jpg", resize_img) # 保存修改大小之后的图片 # 显示图片 cv2.imshow("liqin", resize_img) # 设置显示窗口的名字(不能用中文) 要显示的图片 # 图片显示多长时间后自动关闭 # cv2.waitKey(5000) # 5s后自动关闭 等待5s 键盘输入 如果键盘输入 由键盘输入控制退出 没有输入等待5s自动关闭 # 直到键盘输入才关闭 cv2.waitKey(0) # 0的话就是无限等待 直到键盘输入 # 销毁窗口 cv2.destroyAllWindows()3.人脸检测之检测一张人脸
我们就借用一下沁沁的照片哈 """ 进行人脸检测时 根据人脸的特征 haar抽取图片中的特征方式 把特征数据封装在文件中 python环境的安装包 ---》lib ---> site-packages --- cv2 --- data 将特征文件存放在于当前的py文件相同的目录下 """ import cv2 img = cv2.imread("./liqin.jpg") # 根据特征文件生成一个人脸检测器 face_detector = cv2.CascadeClassifier("./haarcascade_frontalface_alt.xml") # 检测图片中的人脸 face_zones = face_detector.detectMultiScale(img) print(face_zones) # [[201 91 96 96]] 二维的 """ [201 91 96 96] 检测到的人脸区域 x y 宽 高 因为一张图片中可能包含好几个人脸 每个人脸都是一维的数据 """ # 获取人脸区域 for x, y, w, h in face_zones: # 用一个矩形把人脸区域圈起来 """ img, 要圈中的图片 pt1, 左上角的坐标点 pt2, 右下角的坐标点 color, 线的颜色 [蓝 绿 红] thickness=None 线宽 """ cv2.rectangle(img, pt1=(x, y), pt2=(x + w, y + h), color=[0,0,255], thickness=2) # 显示图片 cv2.imshow("liqin", img) cv2.waitKey(0) cv2.destroyAllWindows()
结果为:
4.人脸检测之检测多张人脸
以爱因斯坦参加的索尔维会议照为例
""" 检测多张人脸 """ import cv2 # 1.读取图片 img = cv2.imread("./suoerwei1.jpg") # 设置人脸识别器 face_detector = cv2.CascadeClassifier("./haarcascade_frontalface_alt.xml") # 通过人脸检测器 检测图片中的人脸区域 """ scaleFactor 缩放比例 默认是1.3 数据是要大于1 的 实现人脸检测时 要扫描每个区域 规定的起始尺寸 根据scalefactor进行缩放 缩放尺寸越小 检测出来的人脸越多 minNeighbors 最少邻居 如果检测出来一张人脸 需要在人脸附近偏移几次 返回的都是人脸 这个才把人脸返回 值越大 人脸检测要求就越高 """ face_zones = face_detector.detectMultiScale(img, scaleFactor=1.02, minNeighbors=6) print(face_zones) # 圈中人脸 for x, y, w, h in face_zones: cv2.rectangle(img, pt1=(x, y), pt2=(x+w, y+h), color=[0,0,255],thickness=2) # 显示图片 cv2.imshow("suoerwei", img) cv2.waitKey(0) cv2.destroyAllWindows()
结果为:
注意:在做人脸检测时, 检测出来的人脸与图片的像素清晰度也是有关系的, 模糊的图片检测的话会有误差的
云计算与虚拟化是什么关系?云计算系统运用了许多技术,包括编程模型数据管理技术数据存储技术虚拟化技术。云计算的出现在某种意义上剥离了软件与硬件之间的联系。通过虚拟化技术可实现软件应用与底层硬件相隔离,它包括将
游戏严格监管未成年网络安全,多方位着手净化网络环境一直以来,网络游戏都受到广泛欢迎。据共青团中央维护青少年权益部中国互联网络信息中心等发布的2020年全国未成年人互联网使用情况研究报告显示,当前使用互联网的未成年人当中,有62。5
每年能省2万亿?这只是人工智能的一个小目标人工智能,一个经久不衰的话题,在一些科幻小说电影等艺术作品中,人工智能往往扮演着重要的角色,它们或是成为灭世战争的发起者,如终结者系列中的天网,或是成为主角的好搭档,如钢铁侠中主角
中小学引入人工智能理论强门槛高孩子如何入门?国家培养产业人才高校加强素质教育的背景下,人工智能的课程已经被越来越多省市地区学校纳入中小学选修课。但是,这门课程的强理论性抽象性,让学生觉得枯燥,难以入门。这正在成为很多公立校教
60岁老太凌晨用赵云拿五杀用户质疑,腾讯回应是本人前段时间出版署下发了关于进一步严格管理切实防止未成年人沉迷网络游戏的通知后,一些游戏如王者荣耀绝地求生等手游都对提供给未成年人网络游戏服务的时间作出了限制。但日前网友截图有一位19
中兴Axon305G发布,S8703代屏下镜头技术中兴召开发布会,推出中兴Axon305G等一系列新品。中兴Axon305G作为重头戏,就像官方的宣传语全屏实力一样,采用了新一代屏下镜头技术,其镜头的隐蔽性和拍摄效果得到提升。外观
云图云途云计算技术演进及应用近日,由中国科学院院士郭华东中国工程院院士谭建荣担任总顾问的大数据及人工智能产教融合系列丛书之一,机械工业出版社最新出版的新书云途云图云计算技术演进及应用正式出版!该书由中国工程院
小米MIX4正式发布屏下镜头就在8月10日晚,2021雷军年度演讲召开,雷军率先发布了时隔多年的全面屏手机小米MIX4。外观方面,小米MIX4正面采用了微曲柔性屏设计,手机左右几乎无边框,搭配屏下镜头技术,屏
保定市清苑网警对重点单位开展网络安全大检查活动8月30日,清苑网警来到清苑区某医院进行了深入的网络安全检查,此次检查重点围绕网站是否存在漏洞是否存在违法链接网站信息是否遭到恶意篡改网站服务器如何更好的维护来开展。检查过程中清苑
公有云或成网络安全劲敌勒索病毒的克星如今,网络安全攻击事件愈演愈烈。从全球范围来看,快餐企业麦当劳遭受黑客攻击,造成其在美国韩国和中国台湾地区的数据泄露美国清洁能源公司Invenergy遭受网络入侵,黑客威胁称要泄露
打造安全网络空间,中睿天下完成数亿元C轮融资北京中睿天下信息技术有限公司近日完成数亿元C轮融资。本轮融资由智慧互联产业基金中金资本国投创合前海股权中原前海以及信雅达旗下网信基金联合投资,密码资本担任本轮融资独家财务顾问。中睿