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

长沙网站开发百度代运营公司

长沙网站开发,百度代运营公司,目前做网站最好的语言是,深圳网络营销十年乐云seo专家人脸识别 创建窗口创建按钮设置字体定义标签用于显示图片选择并显示图片检测图片中的人脸退出程序返回主界面 创建窗口 导入tkinter库,创建窗口,设置窗口标题和窗口大小。 import tkinter as tkwin tk.Tk() win.title("人脸识别") win.geom…

人脸识别

    • 创建窗口
    • 创建按钮
    • 设置字体
    • 定义标签用于显示图片
    • 选择并显示图片
    • 检测图片中的人脸
    • 退出程序
    • 返回主界面

创建窗口

导入tkinter库,创建窗口,设置窗口标题和窗口大小。

import tkinter as tkwin = tk.Tk()
win.title("人脸识别")
win.geometry("1000x800")win.mainloop()

创建按钮

创建选择图片和识别人脸,退出系统,返回系统的按钮

button_select = tk.Button(win, text="选择图片",fg='red')
button_select.place(x=333,y=12)button_detect = tk.Button(win, text="识别人脸", fg='red')
button_detect.place(x=666,y=12)esc = tk.Button(win,text='退出系统',fg='red')
esc.place(x=10,y=10)t = tk.Button(win,text='返回系统',fg='red')
t.place(x=900,y=10)

设置字体

“Times New Roman”:这是字体名称。20:这是字体大小。

my_font = ("Times New Roman", 20)

并添加在按钮中
在这里插入图片描述
代码位置:
在这里插入图片描述

定义标签用于显示图片

两个标签控件用于显示图片,并将它们放置在窗口中。image_label_originalimage_label_detected,分别用于显示原始图像和检测到人脸的图像。将这两个标签放置在窗口的左侧,并设置内边距。

image_label_original = tk.Label(win)
image_label_original.pack(side=tk.LEFT, padx=10, pady=80)image_label_detected = tk.Label(win)
image_label_detected.pack(side=tk.LEFT, padx=10, pady=80)

代码位置:
在这里插入图片描述
在这里插入图片描述

选择并显示图片

定义全局变量用于存储用户选择的图片路径

selected_image_path = None

导入所需要的包
filedialog: 这是tkinter的一个扩展模块,它提供了一个对话框,允许用户选择文件或目录。在您的程序中,它用于打开一个文件选择对话框,让用户可以选择一张图片。
cv2: 这是OpenCV库的Python接口。OpenCV是一个强大的计算机视觉库,支持各种图像和视频处理功能。在您的程序中,它用于加载和处理图像,以及进行人脸检测。
PIL.ImagePIL.ImageTk: 这些是Python Imaging Library (PIL)的一部分,现在被称为Pillow。PIL是一个用于处理图像的库,而PIL.ImageTk是一个将PIL图像转换为tkinter兼容的PhotoImage对象的模块。在您的程序中,它们用于将OpenCV的图像转换为可以在tkinter中显示的格式。

from tkinter import filedialog
import cv2
from PIL import Image, ImageTk

定义一个函数来打开文件选择对话框,加载用户选择的图片,并将其显示在标签上。

def select_image():global selected_image_path# filedialog.askopenfilename() 打开一个文件选择对话框,允许用户选择一个图片文件。selected_image_path = filedialog.askopenfilename()# 使用OpenCV的 imread 函数加载用户选择的图片。img = cv2.imread(selected_image_path)#将OpenCV加载的BGR格式图片转换为RGB格式,因为PIL和Tkinter只支持RGB格式。img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)#使用PIL的 fromarray 函数将RGB格式的图片转换为PIL图像img_pil = Image.fromarray(img_rgb)#使用Tkinter的 PhotoImage 函数将PIL图像转换为Tkinter可以识别的格式。img_tk = ImageTk.PhotoImage(image=img_pil)# 显示原始图片# config 方法用于修改控件的配置image_label_original.config(image=img_tk)#将Tkinter的 PhotoImage 对象绑定到标签上。image_label_original.image = img_tk

在选择图片的按钮上调用此函数
在这里插入图片描述
代码位置:在这里插入图片描述
在这里插入图片描述

检测图片中的人脸

导入所需要的库:
messagebox: 这是tkinter的一个模块,用于显示消息框。消息框可以用于显示信息、警告或错误提示。在您的程序中,它用于在未检测到人脸时显示提示信息。

from tkinter import messagebox

定义一个函数来检测图片中的人脸,如果检测到人脸,就在人脸周围画矩形框,并显示检测结果。

def detect_faces():global selected_image_path
#检查是否已经被赋值。如果已经选择了图片,这个变量将包含图片的路径。if selected_image_path:# 使用OpenCV的imread函数加载用户选择的图片img = cv2.imread(selected_image_path)
#cvtColor函数将加载的图片从BGR颜色空间转换为灰度颜色空间gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#haarcascade_frontalface_default.xml是OpenCV提供的一个预训练的人脸检测模型,用于检测图像中的人脸。face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')#人脸检测模型在灰度图像上检测人脸。detectMultiScale函数返回一个包含检测到的脸部位置的矩形列表。faces = face_cascade.detectMultiScale(gray, 1.1, 4)# 判断是否检测到人脸if len(faces) > 0:# 在人脸周围画矩形框for (x, y, w, h) in faces:#原始图像上画一个矩形框,表示检测到的人脸位置。矩形的坐标是(x, y),宽度和高度分别是w和h,矩形的颜色是蓝色(RGB值255, 0, 0),线宽为2。cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)# 转换为PIL格式并显示
#检测到人脸后的图像从BGR颜色空间转换为RGB颜色空间。因为Tkinter和PIL库不支持BGR颜色空间。img_rgb_detected = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)#将转换后的图像从NumPy数组转换为PIL图像对象。img_pil_detected = Image.fromarray(img_rgb_detected)
#将PIL图像对象转换为Tkinter可以显示的格式。img_tk_detected = ImageTk.PhotoImage(image=img_pil_detected)
#显示转换后的图像。image_label_detected.config(image=img_tk_detected)
#将Tkinter的PhotoImage对象绑定到标签上,以保持图片的引用。这样,即使图片被更新,标签仍然会显示最新的图片。image_label_detected.image = img_tk_detected  # keep a referenceelse:# 提示未检测到人脸messagebox.showinfo("提示", "未检测到人脸")else:messagebox.showinfo("提示", "请先选择一张图片")

在识别人脸的按钮上调用此函数
在这里插入图片描述
在这里插入图片描述

退出程序

def Esc():win.destroy()

在退出系统的按钮上调用此函数
在这里插入图片描述
代码位置:在这里插入图片描述

返回主界面

导入所需要的库:
subprocess: 这个模块允许你创建新的进程,连接到它们的输入/输出/错误管道,并获取它们的返回值。在您的程序中,它用于启动一个新的Python进程来运行另一个脚本main.py。

import subprocessdef one():subprocess.Popen(["python", "main.py"])win.destroy()

在返回系统的按钮上调用此函数
在这里插入图片描述
代码位置:
在这里插入图片描述

http://www.hkea.cn/news/468841/

相关文章:

  • 公司网站邮箱费用磁力宅在线搜种子
  • wordpress 缺少临时文件夹刷关键词优化排名
  • 做网站要有什么团队淘宝关键词排名查询工具
  • 开源门户网站源码宁波谷歌seo
  • wordpress+一页一屏seo关键技术有哪些
  • 学校校园网站建设实施方案精准营销的案例
  • 腾讯云服务器可以做网站可以推广发广告的app
  • seo外链友情链接网站运营推广选择乐云seo
  • 做网站 要学 什么语言网站优化公司
  • 天乐测绘网做网站吗搜索引擎广告图片
  • 湖南营销型网站建设多少钱百度关键词优化软件网站
  • 怎样给网站做关键词优化百度词条
  • 做网站哪个平台搭建网站需要什么技术
  • 做gif图的网站简述网络营销的主要方法
  • 做图网站被告seo视频网页入口网站推广
  • 做的网站底部应该标注什么意思免费文案素材网站
  • 企业网站搜索引擎拓客农夫山泉软文300字
  • 青岛黄岛区网站开发武汉seo优化
  • 东莞做网站企业铭会员制营销
  • 做网站设计工资多少钱优化教程网官网
  • 计算机网站建设与维护百度关键词统计
  • wordpress网站实现微信登录google google
  • 网站建设 零基础网站关键词如何优化
  • 如何撤销网站上信息app网站
  • 单页式网站系统每日新闻摘要30条
  • 网站开发公司 广告词优化方案电子版
  • 做便民工具网站怎么样关键词挖掘站长工具
  • 纺织面料做哪个网站好百度站长资源
  • 菏泽网站建设哪好怎样做平台推广
  • 网上有做logo的网站吗网络营销的核心是什么