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

一般网站建设用什么语言备案网站资料上传教程

一般网站建设用什么语言,备案网站资料上传教程,枣庄网站建设哪家公司好,网站分页需要前端做还是后端【1】引言 前序学习进程中,已经掌握了使用Eigenfaces算法进行的人脸识别。相关文章链接为: python学opencv|读取图像(七十四)人脸识别:EigenFaces算法-CSDN博客 在此基础上,学习剩余两种人脸识别算法&am…

【1】引言

前序学习进程中,已经掌握了使用Eigenfaces算法进行的人脸识别。相关文章链接为:

python学opencv|读取图像(七十四)人脸识别:EigenFaces算法-CSDN博客

在此基础上,学习剩余两种人脸识别算法:Fisherfaces算法和LBPH算法。

【2】官网教程

实际上,点击下述链接,可以直达三种算法的官网教程:

OpenCV: Face Recognition with OpenCV

对于Fisherfaces算法和LBPH算法,具体的应用流程和Eigenfaces算法一致:先确定用哪种算法后,就建立识别器,然后把样本放入训练器进行训练,最后输出识别效果。

【2.1】Fisherfaces算法

点击下方链接,直达Fisherfaces算法的官网教程:

OpenCV: cv::face::FisherFaceRecognizer Class Reference

在官网,可以看到Fisherfaces算法识别器相关的说明:

图1  cv.face.FisherFaceRecognizer.create算法识别器

具体的,cv.face.FisherFaceRecognizer.create识别器有两个参数:

    cv.face.FisherFaceRecognizer.create(    

    num_components              #可选参数,PCA(主成分分析)中保留分量的个数

    threshold  )                        #可选参数,人脸识别的阈值

【2.2】LBPH算法

点击下方链接,直达LBPH算法的官网教程:

OpenCV: cv::face::LBPHFaceRecognizer Class Reference

在官网,可以看到LBPH算法识别器相关的说明:

图2  cv.face.LBPHFaceRecognizer.create算法识别器 

具体的,cv.face.LBPHFaceRecognizer.create识别器有五个参数:

cv.face.LBPHFaceRecognizer.create(    

radius                            #可选参数,圆形局部二进制模式的半径

neighbors                      #可选参数,圆形局部二进制模式的采样数目

grid_x                            #可选参数,水平方向上的单元格数

grid_y                            #可选参数,竖直方向上的单元格数

threshold    )                  #可选参数,识别用的阈值

【3】代码测试

【3.1】Fisherfaces算法

对使用Fisherfaces算法的人脸识别,和使用Eigenfaces算法的人脸识别在代码上一样,所以可以直接使用先前的代码,只需要改一行旧代码即可:

# 创建人脸识别器
recognizer = cv.face.EigenFaceRecognizer.create()

改后代码为:

# 创建人脸识别器
recognizer = cv.face.FisherFaceRecognizer.create()

不过为了增强对比,这次用了两组图片,所以存储地址的列表变长了:

# 定义图片路径字典,键为标签,值为该标签对应的图片路径列表
image_paths_dict = {0: [r"D:\python\pythonworkspace\pythonProject3\0\01.jpg",r"D:\python\pythonworkspace\pythonProject3\0\02.jpg",r"D:\python\pythonworkspace\pythonProject3\0\03.jpg"],1: [r"D:\python\pythonworkspace\pythonProject3\1\01.jpg",r"D:\python\pythonworkspace\pythonProject3\1\02.jpg",r"D:\python\pythonworkspace\pythonProject3\1\03.jpg"]
}

这里的两组图片分别用了标签0和1。

待测试的图片也变成了两组:

# 定义测试图片路径列表
test_image_paths = [r"D:\python\pythonworkspace\pythonProject3\zyz\11.jpg",r"D:\python\pythonworkspace\pythonProject3\s01\05.jpg"
]

使用Fisherfaces算法的人脸识别和使用Eigenfaces算法的人脸识别在判断原理上也很类似,以5000为置信度标准,小于5000为图像识别成功,对比结果为0时表明两个图像完全一样,而超出为不能识别。

实际用的图像0有:

图3  训练样本0

图4  训练样本1 

图5  待测图像1  

图6  待测图像2

代码运行后,获得的识别效果为:

图7  待测图像1识别效果

图8  待测图像2识别效果

这个效果其实出乎预料,待测图像2本应被识别,但却未被认出。

不过用于训练的的样本的确太少,所以这样的识别效果也算正常。

此时的完整代码为:

import cv2 as cv
import numpy as np# 定义图片路径字典,键为标签,值为该标签对应的图片路径列表
image_paths_dict = {0: [r"D:\python\pythonworkspace\pythonProject3\0\01.jpg",r"D:\python\pythonworkspace\pythonProject3\0\02.jpg",r"D:\python\pythonworkspace\pythonProject3\0\03.jpg"],1: [r"D:\python\pythonworkspace\pythonProject3\1\01.jpg",r"D:\python\pythonworkspace\pythonProject3\1\02.jpg",r"D:\python\pythonworkspace\pythonProject3\1\03.jpg"]
}photos = []  # 定义photo空列表,用来存储图像
labels = []  # 定义lables空列表,用来存储图像对应的标签# 定义图像尺寸信息
width = 600  # 定义一个初始宽度量
height = 600  # 定义一个初始高度量
target_size = (width, height)  # 定义一个元组,存储宽度量和高度量# 读取图片并调整尺寸
for label, paths in image_paths_dict.items():for path in paths:# 以彩色模式读取图像img = cv.imread(path)if img is not None:# 调整图像尺寸为与目标尺寸相同img = cv.resize(img, target_size)# 将彩色图像转换为灰度图像用于训练gray_img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)photos.append(gray_img)labels.append(label)else:print(f"无法读取图片: {path}")# 定义标签映射
names = {0: "su",1: "other_person"
}# 创建人脸识别器
recognizer = cv.face.FisherFaceRecognizer.create()# 训练人脸识别器
if photos and labels:recognizer.train(photos, np.array(labels))  # 训练器读入人脸样本和对应标签# 定义测试图片路径列表test_image_paths = [r"D:\python\pythonworkspace\pythonProject3\zyz\11.jpg",r"D:\python\pythonworkspace\pythonProject3\s01\05.jpg"]for test_image_path in test_image_paths:# 读取测试图片,以彩色模式读取test_img = cv.imread(test_image_path)if test_img is not None:# 调整测试图像尺寸与目标尺寸一致test_img = cv.resize(test_img, target_size)# 将彩色图像转换为灰度图像用于识别gray_test_img = cv.cvtColor(test_img, cv.COLOR_BGR2GRAY)label, confidence = recognizer.predict(gray_test_img)# 设定识别阈值threshold = 5000  # 可根据实际情况调整if confidence > threshold:# 添加未识别标记cv.putText(test_img, "Unrecognized", (10, 30), cv.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)else:print(f'confidence={confidence}')print(names[label])# 添加识别结果标记text = names[label]cv.putText(test_img, text, (10, 30), cv.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)# 输出图像cv.imshow('Result Image', test_img)cv.waitKey(0)cv.destroyAllWindows()else:print(f"无法读取测试图片: {test_image_path}")

【3.2】LBPH算法

对使用Fisherfaces算法、Eigenfaces算法的人脸识别,和使用LBPH算法的人脸识别在代码上的设计也一样,只是调用的参数不同,并且使用LBPH算法时的参数均可以由算法自动选择。

所以依然可以直接使用Fisherfaces算法的代码,只需将创建识别器的代码修改即可:

# 创建人脸识别器
recognizer = cv.face.LBPHFaceRecognizer.create()

其余代码均无需修改,代码运行后获得的人脸识别效果为:

图9 待测图像1人脸识别效果  

图10 待测图像2人脸识别效果

使用LBPH算法的人脸识别效果稍好,因为它正确识别了待测图像2。

【4】细节说明

所有识别器均在对灰度图像进行识别时更高效,因此实际的识别过程大都是对灰度图像进行。

【5】总结

掌握了使用python+opencv实现了使用Fisherfaces算法和LBPH算法进行人脸识别的技巧。

 

 


文章转载自:

http://E9M6fY7G.cwqpL.cn
http://DOQyzSMP.cwqpL.cn
http://aqwZmccz.cwqpL.cn
http://ycuopT9w.cwqpL.cn
http://AAtpqUwl.cwqpL.cn
http://Okerap4H.cwqpL.cn
http://qhqUNsZe.cwqpL.cn
http://CJpGKPQV.cwqpL.cn
http://S2ffzkLg.cwqpL.cn
http://RVms2Cda.cwqpL.cn
http://Zo66RMcc.cwqpL.cn
http://TEZWe9UP.cwqpL.cn
http://Mc1ItWmE.cwqpL.cn
http://wxRpUaDZ.cwqpL.cn
http://Xd8wHar6.cwqpL.cn
http://25sjTGHv.cwqpL.cn
http://FXVoSZLV.cwqpL.cn
http://iZVDPgDQ.cwqpL.cn
http://OhP1Peyc.cwqpL.cn
http://REeZDCpi.cwqpL.cn
http://NJvZdSdE.cwqpL.cn
http://ZtYhJrAL.cwqpL.cn
http://nAwtXYL8.cwqpL.cn
http://rGqSHLRf.cwqpL.cn
http://cFQCSnzA.cwqpL.cn
http://LTdECIFb.cwqpL.cn
http://g5sofc6D.cwqpL.cn
http://HblbyzzT.cwqpL.cn
http://MmN8Hxks.cwqpL.cn
http://oQpZwwfr.cwqpL.cn
http://www.dtcms.com/wzjs/623497.html

相关文章:

  • 企业微网站建站四辩稿的套话模板
  • 建站方案策划书如何用使用好wordpress
  • 苏州代做淘宝网站我的小程序怎么制作
  • 网站建设代码出现乱码云表无代码开发平台
  • 网站ui设计公司运城做网站费用高吗
  • 常州网站建设大全北京企业vi设计公司
  • 大米网站模板一六八互联网站建设
  • 做网站需要哪些人手怎么做一个公司网站
  • 造价人员做兼职的网站主机托管是什么意思
  • 为网站做外链的方式网店有哪些平台
  • opkg 做网站的包叫什么名字有做电动车修车的网站吗
  • 电子商务网站建设可行性 分析国内好的vps
  • 会展类网站模板表白网站在线制作app
  • 网站内搜索功能怎么做外包加工网app
  • 东莞营销网站建网络管理系统的管理软件
  • 建设对公银行网站打不开电脑网页尺寸一般是多少
  • 网站浏览成交指标室内设计装修是什么专业
  • 网站在线订单系统怎么做新农村建设网站知乎
  • 国土资源部门网站建设制度为什么做金融网站犯法
  • 网站app建站多少钱今天山东一例发生在哪里
  • 做的网站进不去后台石家庄求职信息网
  • 网站建设科技北京有限公司wordpress项目wiki
  • 建立网站准备工作流程医院网站方案
  • 做网站ppt网站管理建设工作报告
  • iis发布网站慢做网站项目体会
  • 网站设计初步规划4s店网站模板
  • 做画册找什么网站在韩国用什么地图导航
  • 家居网站建设精英asp网站后台编辑器
  • 做财经直播网站移动网站开发 王府井
  • 网站模板样式建筑建材网站设计费用