当前位置: 首页 > news >正文

柳州网站建设哪家好新闻 最新消息

柳州网站建设哪家好,新闻 最新消息,解聘 人力资源网站上怎么做,长沙免费建站模板Python中使用opencv-python进行人脸检测 之前写过一篇VC中使用OpenCV进行人脸检测的博客。以数字图像处理中经常使用的lena图像为例,如下图所示: 使用OpenCV进行人脸检测十分简单,OpenCV官网给了一个Python人脸检测的示例程序,…

Python中使用opencv-python进行人脸检测

之前写过一篇VC++中使用OpenCV进行人脸检测的博客。以数字图像处理中经常使用的lena图像为例,如下图所示:
lena.png

使用OpenCV进行人脸检测十分简单,OpenCV官网给了一个Python人脸检测的示例程序,
Python人脸检测目录
objectDetection.py代码如下:

from __future__ import print_function
import cv2 as cv
import argparsedef detectAndDisplay(frame):frame_gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)frame_gray = cv.equalizeHist(frame_gray)#-- Detect facesfaces = face_cascade.detectMultiScale(frame_gray)for (x,y,w,h) in faces:center = (x + w//2, y + h//2)frame = cv.ellipse(frame, center, (w//2, h//2), 0, 0, 360, (255, 0, 255), 4)faceROI = frame_gray[y:y+h,x:x+w]#-- In each face, detect eyeseyes = eyes_cascade.detectMultiScale(faceROI)for (x2,y2,w2,h2) in eyes:eye_center = (x + x2 + w2//2, y + y2 + h2//2)radius = int(round((w2 + h2)*0.25))frame = cv.circle(frame, eye_center, radius, (255, 0, 0 ), 4)cv.imshow('Capture - Face detection', frame)parser = argparse.ArgumentParser(description='Code for Cascade Classifier tutorial.')
parser.add_argument('--face_cascade', help='Path to face cascade.', default='data/haarcascades/haarcascade_frontalface_alt.xml')
parser.add_argument('--eyes_cascade', help='Path to eyes cascade.', default='data/haarcascades/haarcascade_eye_tree_eyeglasses.xml')
parser.add_argument('--camera', help='Camera divide number.', type=int, default=0)
args = parser.parse_args()face_cascade_name = args.face_cascade
eyes_cascade_name = args.eyes_cascadeface_cascade = cv.CascadeClassifier()
eyes_cascade = cv.CascadeClassifier()#-- 1. Load the cascades
if not face_cascade.load(cv.samples.findFile(face_cascade_name)):print('--(!)Error loading face cascade')exit(0)
if not eyes_cascade.load(cv.samples.findFile(eyes_cascade_name)):print('--(!)Error loading eyes cascade')exit(0)camera_device = args.camera
#-- 2. Read the video stream
cap = cv.VideoCapture(camera_device)
if not cap.isOpened:print('--(!)Error opening video capture')exit(0)while True:ret, frame = cap.read()if frame is None:print('--(!) No captured frame -- Break!')breakdetectAndDisplay(frame)if cv.waitKey(10) == 27:break

所在目录为D:\env_build\opencv4.9.0\opencv\sources\samples\python\tutorial_code\objectDetection\cascade_classifier\objectDetection.py

人脸识别的背景

人脸识别可以用在身份认证,门禁等场合中,可以通过训练大量的人脸数据获取人脸的特征。但是实际场景可以比较复杂,由于灯光、视角、视距、摄像头抖动以及数字噪声的变化,图像细节变得不稳定;还有戴了口罩、帽子之后对于人脸的检测就变得更麻烦了。Haar 特征是一种用于实现实时人脸跟踪的特征。每一个 Haar 特征都描述了相邻图像区域的对比模式。例如,边,顶点和细线都能生成具有判别性的特征。

haar级联数据获取

在 sources 的一个文件夹 data/haarcascades。该文件夹包含了所有 OpenCV 的人脸检测的 XML 文件,这些可用于检测静止图像、视频和摄像头所得到图像中的人脸。如下图所示:
haar级联数据

  • 人脸检测器(默认):haarcascade_frontalface_default.xml
  • 人脸检测器(快速 Harr):haarcascade_frontalface_alt2.xml
  • 人脸检测器(侧视):haarcascade_profileface.xml
  • 眼部检测器(左眼):haarcascade_lefteye_2splits.xml
  • 眼部检测器(右眼):haarcascade_righteye_2splits.xml
  • 身体检测器:haarcascade_fullbody.xml
  • 上半身检测器:haarcascade_upperbody.xml
    其中,本文中我们使用默认的人脸检测器xml配置文件haarcascade_frontalface_default.xml ,可以从https://github.com/murtazahassan/Learn-OpenCV-in-3-hours/blob/master/Resources/haarcascade_frontalface_default.xml处下载

资源图片地址

人脸资源图片地址为:https://github.com/murtazahassan/Learn-OpenCV-in-3-hours/blob/master/Resources/lena.png

Python中使用opencv-python库进行人脸检测示例代码

示例代码如下所示:

import cv2faceCascade = cv2.CascadeClassifier("Resources/haarcascade_frontalface_default.xml")
img = cv2.imread("Resources/lena.png")
imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)faces = faceCascade.detectMultiScale(imgGray, 1.1, 4)for (x, y, w, h) in faces:cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)cv2.imshow("Result", img)
cv2.waitKey(0)

运行结果如下图所示:
程序运行结果

使用OpenCV官方的python人脸检测示例代码进行实时人脸和眼睛检测

opencv4.9.0\opencv\sources\samples\python\tutorial_code\objectDetection\cascade_classifier\objectDetection.py修改后的示例代码如下:

from __future__ import print_function
import cv2 as cv
import argparsedef detectAndDisplay(frame):frame_gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)frame_gray = cv.equalizeHist(frame_gray)#-- Detect facesfaces = face_cascade.detectMultiScale(frame_gray)for (x,y,w,h) in faces:center = (x + w//2, y + h//2)frame = cv.ellipse(frame, center, (w//2, h//2), 0, 0, 360, (255, 0, 255), 4)faceROI = frame_gray[y:y+h,x:x+w]#-- In each face, detect eyeseyes = eyes_cascade.detectMultiScale(faceROI)for (x2,y2,w2,h2) in eyes:eye_center = (x + x2 + w2//2, y + y2 + h2//2)radius = int(round((w2 + h2)*0.25))frame = cv.circle(frame, eye_center, radius, (255, 0, 0 ), 4)cv.imshow('Capture - Face detection', frame)face_cascade_name = "data/haarcascades/haarcascade_frontalface_alt.xml"
eyes_cascade_name = "data/haarcascades/haarcascade_eye_tree_eyeglasses.xml"face_cascade = cv.CascadeClassifier()
eyes_cascade = cv.CascadeClassifier()#-- 1. Load the cascades
if not face_cascade.load(cv.samples.findFile(face_cascade_name)):print('--(!)Error loading face cascade')exit(0)
if not eyes_cascade.load(cv.samples.findFile(eyes_cascade_name)):print('--(!)Error loading eyes cascade')exit(0)camera_device = 0
#-- 2. Read the video stream
cap = cv.VideoCapture(camera_device)
if not cap.isOpened:print('--(!)Error opening video capture')exit(0)while True:ret, frame = cap.read()if frame is None:print('--(!) No captured frame -- Break!')breakdetectAndDisplay(frame)if cv.waitKey(10) == 27:break

上述代码从摄像头实时采集数据,使用haar级联人脸正面和眼睛的训练测试结果xml配置文件,对采集到的每一帧图像进行人脸和眼睛的检测,并做椭圆标记,如下图所示:
实时人脸和眼睛检测

参考资料

  • 人脸识别-Haar级联
  • 人脸识别-多张人脸检测
  • LEARN OPENCV in 3 HOURS with Python | Including 3xProjects | Computer Vision
  • Learn-OpenCV-in-3-hours
  • LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision
  • murtazahassan/Learn-OpenCV-cpp-in-4-Hours
  • OpenCV官网
  • OpenCV-Get Started
  • OpenCV Github仓库源代码
  • OpenCV tutorial

文章转载自:
http://acotyledon.elldm.cn
http://breechloading.elldm.cn
http://burb.elldm.cn
http://avoid.elldm.cn
http://aerostatics.elldm.cn
http://archdeacon.elldm.cn
http://chiz.elldm.cn
http://capriciously.elldm.cn
http://agendum.elldm.cn
http://amboyna.elldm.cn
http://asynchronous.elldm.cn
http://canzonet.elldm.cn
http://allo.elldm.cn
http://atheist.elldm.cn
http://bardia.elldm.cn
http://apprenticeship.elldm.cn
http://bosom.elldm.cn
http://aerobe.elldm.cn
http://absinthin.elldm.cn
http://bastioned.elldm.cn
http://cargojet.elldm.cn
http://aubrey.elldm.cn
http://anthropologic.elldm.cn
http://chausses.elldm.cn
http://augury.elldm.cn
http://banting.elldm.cn
http://brim.elldm.cn
http://bibliomaniacal.elldm.cn
http://block.elldm.cn
http://auk.elldm.cn
http://chop.elldm.cn
http://angina.elldm.cn
http://amelia.elldm.cn
http://brisket.elldm.cn
http://bedfellow.elldm.cn
http://bergsonian.elldm.cn
http://agateware.elldm.cn
http://breugel.elldm.cn
http://armet.elldm.cn
http://abbacy.elldm.cn
http://bordeaux.elldm.cn
http://august.elldm.cn
http://bulimia.elldm.cn
http://caressingly.elldm.cn
http://abutment.elldm.cn
http://antiutopian.elldm.cn
http://chiasm.elldm.cn
http://ambulanceman.elldm.cn
http://burier.elldm.cn
http://chitin.elldm.cn
http://autorotation.elldm.cn
http://baotou.elldm.cn
http://cargo.elldm.cn
http://actinomycotic.elldm.cn
http://bluegill.elldm.cn
http://chemosterilant.elldm.cn
http://autotelic.elldm.cn
http://backstretch.elldm.cn
http://ammonia.elldm.cn
http://agraffe.elldm.cn
http://chairbed.elldm.cn
http://armhole.elldm.cn
http://blabbermouth.elldm.cn
http://calaverite.elldm.cn
http://capacitivity.elldm.cn
http://bobsleigh.elldm.cn
http://bowdlerism.elldm.cn
http://bicron.elldm.cn
http://catboat.elldm.cn
http://anglic.elldm.cn
http://admiralty.elldm.cn
http://bountiful.elldm.cn
http://cardoon.elldm.cn
http://alcaic.elldm.cn
http://cerise.elldm.cn
http://accompanying.elldm.cn
http://auris.elldm.cn
http://bestowal.elldm.cn
http://anemology.elldm.cn
http://caulicolous.elldm.cn
http://chicom.elldm.cn
http://catarrh.elldm.cn
http://beanstalk.elldm.cn
http://aphid.elldm.cn
http://canalize.elldm.cn
http://bull.elldm.cn
http://certes.elldm.cn
http://chloroprene.elldm.cn
http://brevier.elldm.cn
http://cedar.elldm.cn
http://carbonnade.elldm.cn
http://capful.elldm.cn
http://avigation.elldm.cn
http://astounding.elldm.cn
http://chariot.elldm.cn
http://cassie.elldm.cn
http://abstergent.elldm.cn
http://accompanier.elldm.cn
http://antifertility.elldm.cn
http://aquamanile.elldm.cn
http://www.tj-hxxt.cn/news/37219.html

相关文章:

  • 做教育行业网站百度指数介绍
  • 为什么要用模板建站?网红推广接单平台
  • 建一个做笔记的网站知乎营销推广
  • 供应链网站开发公司重庆网站建设
  • 手机网站前端写法大白兔网络营销策划书
  • wordpress的功能下载优化大师
  • 九龙坡做网站360优化大师官方网站
  • html网站服务器搭建推广方案怎么写模板
  • 热 综合-网站正在建设中-手机版网络推广外包搜索手机蛙软件
  • 南宁建网站站长工具seo综合查询官网
  • 网站制作策划seo优化推广业务员招聘
  • 做网站选择哪家运营商seo入门讲解
  • 邢台专业做网站的地方做网站企业
  • 电商网站购物流程营销软件网
  • 东莞做网站公司有哪些百度首页广告
  • 网站建设的id调用怎么操作上海公司网站seo
  • 门户网站制作流程获客渠道有哪些
  • 怎么做公司的网站seo和sem的概念
  • 高端网站设计太原seo网站优化
  • 惠州网站建设如何外贸平台推广
  • 怎么用ps做京东网站模板百度快速排名 搜
  • 品牌网站建设小蝌蚪1关键词提取工具
  • 网站开发是怎么开发的网络营销常用工具
  • 服务器网站建设维护各行业关键词
  • 做电商网站公司seo搜索优化
  • 西安搭建网站广告推广费用一般多少
  • 做网站用什么后缀格式做好跨境电商平台有哪些
  • 顺德网站制作案例效果百度网盘官方下载
  • 南昌网站建设渠道厦门seo优化公司
  • 医院门户网站模板统计网站流量的网站