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

网站建设珠海 新盈科技公司网站建设公司济南

网站建设珠海 新盈科技公司,网站建设公司济南,wordpress导航栏的文件在哪里,php宠物用品公司网站源码文章目录 前言一、人脸检测二、人脸识别1.训练识别器2.识别人脸 三、界面相关1.Qlabel展示图片2.表格跟随内容而增加和减少3.选择图片文件4.警告框 四、源码获取总结 前言 人脸识别技术作为人工智能领域的一颗璀璨明珠,正逐渐渗透到我们生活的每一个角落&#xff0…

文章目录

  • 前言
  • 一、人脸检测
  • 二、人脸识别
    • 1.训练识别器
    • 2.识别人脸
  • 三、界面相关
    • 1.Qlabel展示图片
    • 2.表格跟随内容而增加和减少
    • 3.选择图片文件
    • 4.警告框
  • 四、源码获取
  • 总结


前言

人脸识别技术作为人工智能领域的一颗璀璨明珠,正逐渐渗透到我们生活的每一个角落,从智能手机的解锁到机场的快速通关,从金融交易的安全认证到智慧城市的高效管理,它正以其独特的优势和强大的功能,为我们的生活带来前所未有的便捷与安全。本篇文章将借助opencv和pyqt5在本地搭建自己的人脸识别系统,编码不易,源码请私聊我有偿获取或点击这里获取。运行结果大概如下:
主界面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


一、人脸检测

这里直接用opencv来进行人脸检测,代码如下:

 self.face_detor = cv2.CascadeClassifier(cfg.face_det_xml)  # 加载人脸识别级联分类器faces = self.face_detor.detectMultiScale(img, 1.15, 4)  # 找出图像中所有的人脸

需要注意的是,这里传入的是灰度图


二、人脸识别

1.训练识别器

要进行识别,首先我们需要提前训练识别器,这里给出了三种识别器,可自由选择,代码如下

if cfg.face_recoger_type=="LBPH": #当识别器类型制定为LBPH时self.recoger=cv2.face.LBPHFaceRecognizer_create()  # LBPH识别器self.conf= 100  
elif cfg.face_recoger_type=="Eigen": #当识别器类型制定为Eigen时self.recoger=cv2.face.EigenFaceRecognizer_create()  self.conf = 4000 
elif cfg.face_recoger_type=="Fisher":self.recoger=cv2.face.FisherFaceRecognizer_create()  # Fisher识别器self.conf=4000 
self.recoger.train(photos, np.array(lables))  # 识别器开始训练

2.识别人脸

识别器训练完成后,我们便可以直接拿来进行人脸识别,这里给出了人脸检测+识别的所有代码,代码如下:

img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #转为灰度图
faces = self.face_det(img_gray)  # 找出图像中所有的人脸
roi_face_=img.copy()
if len(faces)>0: #当检测到人脸时间才去进行识别,否则直接退出x, y, w, h = faces[0] #人脸的左上坐标和宽高roi_face = img_gray[y:y + h, x:x + w]roi_face_ = img[y:y + h, x:x + w]roi_face=cv2.resize(roi_face, (self.cfg.imgw, self.cfg.imgh))  # 将当前帧缩放成统一大小label, confidence = self.recoger.predict(roi_face)  # 识别器开始分析人脸图像if str(label) in self.users:name = self.users[str(label)]if confidence > self.conf:  # 忽略评分大于最高评分的结果name="unknown"print(f"识别结果:{name},{confidence}")

三、界面相关

主要的界面处理代码会在这里给出,注意,这里只给出的是逻辑代码,具体怎么用需要各位根据自己的情况结合使用。

1.Qlabel展示图片

当我们想在界面上展示图片,如opencv时,执行以下代码即可,仅限BGR图片,

rgb_img = cv2.cvtColor(face_img, cv2.COLOR_BGR2RGB)
qimg = QtGui.QImage(rgb_img, rgb_img.shape[1], rgb_img.shape[0], rgb_img.shape[1] * 3,QtGui.QImage.Format_RGB888)
self.label_3.setPixmap(QtGui.QPixmap.fromImage(qimg))
self.label_3.setScaledContents(True)  # 图片自适应大小

2.表格跟随内容而增加和减少

由于表格的内容会或多或少,所以我们需要动态的管理表格行列,直接使用如下代码即可:

 self.num = 0for i in range(len(select_list)):  # 遍历每个框self.num += 1idx=select_list[i]item = QTableWidgetItem(str(self.num))self.tableWidget.setItem(self.num, 0, item)item = QTableWidgetItem(name)self.tableWidget.setItem(self.num, 1, item)item = QTableWidgetItem(idx)self.tableWidget.setItem(self.num, 2, item)if self.num >= self.tableWidget.rowCount() - 1:row_num = self.tableWidget.rowCount()self.tableWidget.setRowCount(row_num + 1)  # 添加一行if self.last_num > self.num:for i in range(self.last_num - self.num):  # 要删除的行数self.tableWidget.removeRow(self.num + 1)self.last_num = self.num

3.选择图片文件

这里一行代码解决,如下:

 filename, _ = QtWidgets.QFileDialog.getOpenFileName(None, "选择文件", os.getcwd(),"All Files(*.jpg;*.png;*.jpeg;);;Text Files (*.txt)")

4.警告框

当我么需要给出警告,比如用户操作有误时,执行以下代码即可:

def send_warn(self, label):msg_box = QMessageBox(QMessageBox.Warning, 'Warning', label)msg_box.exec_()

label即为我们要弹出的警告框的内容。


四、源码获取

以上展示了本系统的主要处理代码,有能力的大佬可以结合自己想法实现自己的人脸识别系统。所有文章涉及到的代码均是自己手敲,编码不易,如果要完整代码的私聊我小偿获取或点击这里获取。


总结

以上就是本篇的全部内容,根据自己的想法,结合opencv+pyqt5实现了人脸识别系统,如有需求或想法(包括本项目或其他类似项目),欢迎私我。

http://www.dtcms.com/wzjs/829408.html

相关文章:

  • 网页制作成品网站自己做婚恋网站
  • 邢台企业做网站报价公司网站运营维护单位
  • wordpress 网站底部美化线下推广平台有哪些
  • 怎么查网站备案域名国外有哪些设计网站推荐
  • 南京制作网站要多少钱网页搭建
  • 免费图片素材网站有哪些网站的域名能修改么
  • 怎么写网站建设与运营河南中州路桥建设有限公司网站
  • 微信同城小程序开发教程东莞百度搜索优化
  • 建筑资料网站大全创建网站基本步骤
  • 快速建设小说盗版网站建设直播网站软件
  • 凡科 360免费建站精品课程云网站建设
  • 商业网站的设计与推广系统成视频app下无限看ios7
  • 做网站设计前景怎么样电子商务网站建设实训总结
  • 网站建设收获与体会网站如何做ins链接分享
  • 城市建设鹤岗市网站做淘宝客要建网站吗
  • 做网站网页文件摄影网站开发意义
  • 做盗版网站 国外服务器做那种网站
  • 网站建设hyioiwordpress后台登陆模板
  • 公司怎么样做网站腾博会的网站是什么
  • js源码下载从哪个网站能下载wordpress5.03下载
  • vpn免流网站建设帝国和wordpress
  • 中国建设银行手机银行下载官方网站做网站用什么电脑好
  • 做网站可行性分析西安现在可以自由出入吗
  • 北京 做网站比较有名的浙江做网站公司有哪些
  • 盐城网站平台建设网站搭建框架是什么
  • 易语言网站批量注册怎么做广告设计策划
  • 商务网站建设工程师是自己做网站 空间怎么买
  • 重庆大渡口营销型网站建设公司哪家专业查看wordpress作者名
  • 顺德做外贸网站软件项目开发流程和步骤
  • 海拉尔建网站深圳市作网站的公司