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

乐居房产官方网站/外贸推广平台怎么做

乐居房产官方网站,外贸推广平台怎么做,东莞网站建设服务有什,嘉兴网站建设设计制作python opencv 人脸识别人脸识别个人理解就是分几个步骤,1 找素材,让程序学习得到不同人的不同人脸特点,2,传入图片开始识别这里先展示一下文件目录test_data是测试人脸的图片,images里有两个文件夹,每一个…

python opencv 人脸识别

人脸识别个人理解就是分几个步骤,1 找素材,让程序学习得到不同人的不同人脸特点,2,传入图片开始识别

这里先展示一下文件目录

test_data是测试人脸的图片,images里有两个文件夹,每一个文件夹对应着一个人,里面都是那个人的人脸图像

使用opencv开发人脸识别,首先下载对应的包

pip install opencv-python

pip install opencv-contrib-python

然后开始上代码

# # -*- coding:utf-8 -*-

import cv2

import os

import numpy as np

# 检测人脸

def detect_face(img):

# 将测试图像转换为灰度图像,因为opencv人脸检测器需要灰度图像

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 加载OpenCV人脸检测分类器Haar

face_cascade = cv2.CascadeClassifier('./xml/haarcascade_frontalface_default.xml')

# 检测多尺度图像,返回值是一张脸部区域信息的列表(x,y,宽,高)

face = face_cascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=5)

# 如果未检测到面部,则返回原始图像

if len(face) > 0:

# 目前假设只有一张脸,xy为左上角坐标,wh为矩形的宽高

(x, y, w, h) = face[0]

# 返回图像的正面部分

return gray[y:y + w, x:x + h], face[0]

else:

return None, None

# 该函数将读取所有的训练图像,从每个图像检测人脸并将返回两个相同大小的列表,分别为脸部信息和标签

def prepare_training_data(data_folder_path):

# 获取数据文件夹中的目录(每个主题的一个目录)

dirs = os.listdir(data_folder_path)

# 两个列表分别保存所有的脸部和标签

faces = []

labels = []

# 浏览每个目录并访问其中的图像

for dir_name in dirs:

# dir_name(str类型)即标签

label = int(dir_name)

# 建立包含当前主题主题图像的目录路径

subject_dir_path = data_folder_path + "/" + dir_name

# 获取给定主题目录内的图像名称

subject_images_names = os.listdir(subject_dir_path)

# 浏览每张图片并检测脸部,然后将脸部信息添加到脸部列表faces[]

for image_name in subject_images_names:

# 建立图像路径

image_path = subject_dir_path + "/" + image_name

# 读取图像

image = cv2.imread(image_path)

# 显示图像0.1s

cv2.imshow("Training on image...", image)

cv2.waitKey(100)

# 检测脸部

face, rect = detect_face(image)

# # 我们忽略未检测到的脸部

if face is not None:

# 将脸添加到脸部列表并添加相应的标签

faces.append(face)

labels.append(label)

cv2.waitKey(1)

cv2.destroyAllWindows()

# 最终返回值为人脸和标签列表

return faces, labels

# 调用prepare_training_data()函数

faces, labels = prepare_training_data("images")

# 创建LBPH识别器并开始训练,当然也可以选择Eigen或者Fisher识别器

face_recognizer = cv2.face.LBPHFaceRecognizer_create()

face_recognizer.train(faces, np.array(labels))

# 根据指定的坐标和宽高在图片上绘制矩形

def draw_rectangle(img, rect):

(x, y, w, h) = rect

cv2.rectangle(img, (x, y), (x + w, y + h), (128, 128, 0), 2)

# 根据给定的(x,y)坐标标识出人名

def draw_text(img, text, x, y):

cv2.putText(img, text, (x, y), cv2.FONT_HERSHEY_COMPLEX, 1, (128, 128, 0), 2)

# 建立标签和人名的映射表

subjects = ["yangmi", "liuyifei"]

def predict(test_img):

# 生成图片的副本,这样就可以保留原始图片

img = test_img.copy()

# 检测人脸

face, rect = detect_face(img)

print(face)

print(rect)

# 预测人脸

label = face_recognizer.predict(face)

print(label)

# 判断是否识别成功

if label:

# 获取由人脸识别器返回的相应的标签名称

label_text = subjects[label[0]]

# 在检测到的脸部周围绘制一个矩形

draw_rectangle(img, rect)

# 标出预测的名字

draw_text(img, label_text, rect[0], rect[1] - 5)

# 返回预测图像

return img

# else:

# print(img)

# # 在检测到的脸部周围绘制一个矩形

# draw_rectangle(img, rect)

# # 标出预测的名字

# draw_text(img, "unkonwn", rect[0], rect[1] - 5)

# # 返回预测图像

# return img

test_img1 = cv2.imread("test_data/5.jpg")

test_img2 = cv2.imread("test_data/6.jpg")

predicted_img1 = predict(test_img1)

predicted_img2 = predict(test_img2)

cv2.imshow(subjects[0], predicted_img1)

cv2.imshow(subjects[1], predicted_img2)

cv2.waitKey(0)

cv2.destroyAllWindows()

最后结果为

这个是识别率很低很低

http://www.lbrq.cn/news/1157959.html

相关文章:

  • 志勋网站建设公司/全网推广成功再收费
  • 东莞网站开发报价/东莞关键词优化软件
  • 毕业答辩ppt模板免费下载 素材/seo和sem分别是什么
  • 杭州微信网站建设/制作网站首页
  • 现在币圈有那些私募网站做的好/百度关键词规划师
  • wordpress卡片圆角/seo推广岗位职责
  • 企业管理类的网站/google搜索免费入口
  • 选择做网站销售的优势/微博推广技巧
  • 广告创意网站/免费推广论坛
  • 如何建立网站是什么/网络营销岗位有哪些
  • 怎么制作属于自己的网站/2024年小学生简短小新闻
  • 装修网站平台排行榜/百度一下网页打开
  • 郑州网站建设培训学校/小程序推广50个方法
  • 河北住房城乡建设厅官方网站/bt磁力在线种子搜索神器
  • 产品型网站案例/网销是做什么的
  • 德朋推广/杭州seo专员
  • 长春做网站seo/seo网络优化日常工作内容
  • 福州做网站公司有哪些/推广普通话宣传周活动方案
  • 中淼建设工程有限公司网站/百度指数网
  • 做销售的如何在网站/做小程序的公司
  • 公司内部网站管理系统/拉新平台哪个好佣金高
  • 做网站需要哪些费用/如何做推广
  • 东莞寮步二手车交易市场/淄博网站seo
  • 品牌网站 响应式网站/网络运营是什么专业
  • 面试学校网站开发/青岛运营网络推广业务
  • 做兼职的那个网站靠谱/产品推广策划方案
  • 福州小学网站建设/推广方法
  • wordpress主题兜/邢台市seo服务
  • 医院网站建设技术方案/便宜的seo官网优化
  • 商标注册查询一览表/长沙正规关键词优化价格从优
  • 工作第一步建立连接——ssh
  • 前端开发数据缓存方案详解
  • GaussDB 数据库架构师修炼(三) 集群管理概览
  • 46. 携带研究材料(01背包二维数组)
  • 力扣 hot100 Day44
  • 前四天综合总结