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

网站制作 天津烟台seo网站推广

网站制作 天津,烟台seo网站推广,深圳外企公司排名,站长工具国产2022一. 实现指定图像的人脸识别 注意: 以下实例参考《OpenCV轻松入门面向Python》李立宗著,使用python语言,编辑器为PyCharm,且都运行成功。 1.dface3.jpg图片文件和当前代码放在同一级目录下。 2.级联分类器文件和当前代码文件放在…

一. 实现指定图像的人脸识别

注意:

以下实例参考《OpenCV轻松入门面向Python》李立宗著,使用python语言,编辑器为PyCharm,且都运行成功。
1.dface3.jpg图片文件和当前代码放在同一级目录下。
2.级联分类器文件和当前代码文件放在同一目录下。
3.获取级联分类器方式:
1)安装opencv后,在其安装目录下的data文件夹内查找xml文件。
2)直接在网络上找到相应的XML文件,下载并使用。
访问opencv官网: https://opencv.org/ ,点进Github,在data目录下haarcascade文件夹下寻找需要的级联分类器。
代码如下:

import cv2
#读取待检测的图像
image=cv2.imread('dface3.jpg')
#加载了一个训练好的人脸检测器(xml文件,包含了用于人脸检测的哈尔特征级联分类器)
faceCascade=cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')
#将图像转换成灰度图像
gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
#调用detectMultiScale()函数在灰度图像上检测人脸,函数会返回一个列表,每个表示一个检测到的人脸
faces=faceCascade.detectMultiScale(gray,scaleFactor=1.15,minNeighbors=5,minSize=(5,5)
)
print(faces)
print("发现{0}个人脸!".format(len(faces)))
#在原始图像上绘制矩形框,框出检测到的人脸
for(x,y,w,h) in faces:cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)
cv2.imshow("tect",image)
cv2.imwrite("re.jpg",image)
cv2.waitKey(0)
cv2.destroyAllWindows()

detectMultiScale():

是一个用于检测目标的函数,其中包含了以下几个参数:

参数1(image):需要进行检测的输入图像,通常是灰度图像。

参数2(scaleFactor):在每个图像尺度上进行尺度变换时的缩放比例。这个参数用于多尺度检测,允许算法检测不同尺寸的目标。例如,如果设置为 1.1,意味着算法会逐渐缩小图像的尺寸进行检测。

参数3(minNeighbors):每个候选矩形应该保留的邻近数。这个参数可以帮助去除一些虚假的检测结果。较大的值会导致更少的检测框,但是这些检测框更可能是真实的目标。

参数4(minSize):目标的最小尺寸。只有大于等于这个尺寸的目标才会被检测到。这个参数可以用于排除一些小目标,以减少虚假检测。

参数5(flags):它是一个可选的参数,用于调整算法的行为。通常情况下,我们可以使用默认值0。

返回值:这个函数返回一个矩形列表,表示检测到的目标的位置和大小。通常情况下,每个矩形都是一个四元组 (x, y, width, height),分别表示目标左上角的坐标以及目标的宽度和高度。

cv2.rectangle()

是 OpenCV 库中用于在图像上绘制矩形的函数,其中包含几个参数:
image:需要绘制矩形的图像,通常是一个 NumPy 数组表示的图像对象。

pt1:矩形的左上角坐标,是一个元组 (x1, y1),其中 x1 是矩形左上角的横坐标,y1 是矩形左上角的纵坐标。

pt2:矩形的右下角坐标,也是一个元组 (x2, y2),其中 x2 是矩形右下角的横坐标,y2 是矩形右下角的纵坐标。(x+w, y+h) 是矩形框的右下角坐标,x+w 表示矩形右边界的横坐标,y+h 表示矩形底边界的纵坐标。

color:矩形的颜色,通常以 BGR 格式表示,即一个包含三个整数值的元组 (B, G, R),其中 B、G、R 分别代表蓝色、绿色、红色的通道值。(0, 255, 0) 表示纯绿色。

thickness:矩形的线条宽度,以像素为单位。如果指定为负值,表示填充整个矩形区域。默认为1。

lineType:线条类型,默认为8连接线。你可以选择不同的线条类型,如8连接、4连接等。

shift:偏移量,默认为0。这个参数通常不需要指定,除非你需要对图像进行一些特殊处理。

二. 捕获摄像头视频

opencv通过从cv2.VideoCapture提供了非常方便的捕获摄像头视频的方法。
代码如下:

import cv2
#从指定的设备中获取视频流
cap=cv2.VideoCapture(0)
while(cap.isOpened()):ret, frame = cap.read()cv2.imshow('frame',frame)c = cv2.waitKey(1)if c == 27:break
cap.release()
cv2.destroyAllWindows()

cv2.VideoCapture()

参数为 0,代表使用默认的摄像头设备(通常是计算机上内置的摄像头),如果你有多个摄像头,可以通过不同的参数值来选择不同的摄像头。例如,cv2.VideoCapture(1) 表示选择第二个摄像头。也可以传入视频文件的路径作为参数,以便从文件中读取视频流。

三.实现视频人脸识别

代码如下:

import cv2
import numpy as np
#创建了一个VideoCapture对象cap用于捕获视频,0表示打开默认的摄像头
cap=cv2.VideoCapture(0)
#加载人脸识别检测器
faceCascade=cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')
#只要摄像头处于打开状态就一直运行
while(cap.isOpened()):#使用read方法从摄像头捕获一帧,ret是个布尔值表示是否成功读取帧,frame是捕获的视频帧ret,frame=cap.read()if ret:#对每个帧进行解析#将每一帧转换为灰度图像gray_image=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)faces=faceCascade.detectMultiScale(gray_image,scaleFactor=1.15,minNeighbors=5,minSize=(5,5))#逐个标注检测到的人脸for(x,y,w,h) in faces:cv2.rectangle(frame,(x,y),(x+w,y+w),(0,255,0),2)cv2.imshow("detect",frame)#按esc键控制退出c=cv2.waitKey(1)if c==27:breakelse:break
cap.release()
cv2.destroyAllWindows()
http://www.yayakq.cn/news/682144/

相关文章:

  • 廉江网站制作免费申请域名注册
  • h5响应式网站开发成本昌大建设集团地址
  • 网站开发工具 知乎wordpress获取所有图片
  • 网站建设与管理案例教程ppt对网站建设的意见
  • 网站增加一体化建设功能的好处品牌设计公司企业vi设计
  • 链接网站开发需要多少钱网站建设系统改版
  • 新视网站建设联系qq做网站原价商品打个横线
  • 网站内容模板郑州新闻发布
  • 怎样做网站导购教程中国建筑人力资源管理信息系统
  • 想建网站须要什么条件wordpress首页空白
  • 怎么在360网站做词条公司注册地址跟办公地址不一致
  • 重庆秀山网站建设禹城有做网站
  • 如何做好一个网站广州国创建设工程有限公司怎么样
  • 网站在备案期间怎么建设wordpress 如何添加广告
  • 长春网站建设方案服务长春网站建设企业
  • 建站开始的前6个月多少外链最合适北京城乡建设门户网站
  • 行业自助建站做个app
  • 大连哪家做网站比较好房产网站制作找哪家
  • discuz品牌空间网站关于申请建设网站的请示
  • 有谁知道网站优化怎么做瓯北网站制作系统
  • 网站程序开发要点做html网站模板下载
  • 做网站寄生虫网站推广案例分析
  • 网站开发员名称是什么注册公司流程图
  • 生产类营销型网站php7.2 wordpress
  • 网站建设的基本话术深圳外贸网站建设制作方法
  • h5响应式集团网站推荐温州高端网站建设公司哪家好
  • 亮点云建站做网站流程内容
  • 京东网站建设目标制作网站商城
  • 自己创建网站怎么做电商如何加快百度收录网站
  • 小公司做网站赚钱wordpress主题知更鸟设置