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

gta5线下买房网站建设中小企业管理软件下载

gta5线下买房网站建设,中小企业管理软件下载,网站更多分享怎么做,厦门品牌网站设计代码讲解 1. 导入必要的库 import cv2 import os from pathlib import Path import shutil import numpy as np import loggingcv2: OpenCV 库,用于图像处理和计算机视觉。os: 提供了一种便携的方式使用操作系统依赖的功能。pathlib.Path: 提供了对象导向的路径处…

代码讲解

1. 导入必要的库
import cv2
import os
from pathlib import Path
import shutil
import numpy as np
import logging
  • cv2: OpenCV 库,用于图像处理和计算机视觉。
  • os: 提供了一种便携的方式使用操作系统依赖的功能。
  • pathlib.Path: 提供了对象导向的路径处理方法。
  • shutil: 提供了高级文件操作,如复制、移动文件等。
  • numpy: 用于处理数组和矩阵的计算。
  • logging: 提供了记录日志的功能。
2. 设置日志
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

设置日志的基本配置,使得程序可以记录信息级别的日志。

3. 加载 Haar cascade 模型
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')

加载 OpenCV 预训练的 Haar cascade 分类器,用于检测图像中的人脸。

4. 定义文件夹
REFERENCE_DIR = "reference"
NO_MATCH_DIR = "no_match"
os.makedirs(REFERENCE_DIR, exist_ok=True)
os.makedirs(NO_MATCH_DIR, exist_ok=True)

定义参考图像文件夹和不匹配图像的存放文件夹,并确保这些文件夹存在。

5. 加载训练数据集
training_data = []
labels = []def load_training_data(training_dir):label = 0  # 假设只有一个参考人物for root, _, files in os.walk(training_dir):for file in files:if file.endswith(".jpg") or file.endswith(".png"):path = os.path.join(root, file)image = cv2.imread(path, cv2.IMREAD_GRAYSCALE)  # 直接读取为灰度图if image is not None:training_data.append(image)labels.append(label)

遍历指定的训练数据文件夹,加载所有 .jpg.png 图片,并将它们转换为灰度图存储在 training_data 列表中,标签统一为 0(假设只有一个参考人物)。

6. 训练人脸识别器
def train_recognizer(training_data, labels):recognizer = cv2.face.LBPHFaceRecognizer_create()recognizer.train(training_data, np.array(labels))return recognizer

使用 Local Binary Patterns Histograms (LBPH) 方法训练人脸识别器。

7. 检测图像中的人脸
def detect_faces(image):gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)face_rects = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))return face_rects

检测传入图像中的人脸位置,并返回人脸矩形框。

8. 识别图像中的人脸
def recognize_face(recognizer, image):gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)  # 确保图像为灰度图face_rects = detect_faces(image)if len(face_rects) > 0:for (x, y, w, h) in face_rects:roi_gray = gray[y:y+h, x:x+w]  # 使用灰度图label, confidence = recognizer.predict(roi_gray)return label, confidencereturn None, None

使用训练好的人脸识别器来识别图像中的人脸,并返回标签和置信度。

9. 处理单张图片
def process_image(png_file, recognizer, threshold=100):try:image = cv2.imread(str(png_file))if image is None:raise FileNotFoundError(f"Could not load image from {png_file}")label, confidence = recognize_face(recognizer, image)if label is not None and confidence < threshold:logging.info(f"{png_file.name} belongs to the target person.")else:logging.info(f"{png_file.name} does not belong to the target person.")destination = Path(NO_MATCH_DIR) / png_file.nameshutil.move(str(png_file), str(destination))  # 移动不匹配的图片except Exception as e:logging.error(f"Error processing {png_file.name}: {str(e)}")

处理单张图片,识别其中的人脸,如果识别结果的置信度低于阈值,则移动该图片到 NO_MATCH_DIR 文件夹。

10. 处理文件夹中的所有 .png 图片
def process_images(directory, recognizer):directory_path = Path(directory)png_files = list(directory_path.glob('*.png'))for png_file in png_files:process_image(png_file, recognizer)

遍历指定目录下的所有 .png 文件,并逐一处理。

11. 主程序入口
if __name__ == "__main__":# 加载训练数据集load_training_data(REFERENCE_DIR)# 训练人脸识别器recognizer = train_recognizer(training_data, labels)# 处理目标文件夹中的图片input_directory = 'images'  # 请确保这个路径是正确的process_images(input_directory, recognizer)

主程序入口,加载训练数据集,训练人脸识别器,并处理指定目录下的所有图片。

总结

这段代码实现了从一个包含参考人物的图像文件夹中加载数据,训练一个简单的人脸识别器,然后用这个识别器去识别另一个文件夹中的图片,并将不匹配的图片移动到另一个文件夹中。通过这种方式,可以有效地对大量图片进行分类处理。

http://www.yayakq.cn/news/642853/

相关文章:

  • 怎样优化手机网站做企业网站步骤
  • 网站网页建设实训心得桃城网站建设公司
  • 2017网站备案抽查全国大学生职业生涯规划大赛官网
  • wix做网站步骤加氢站个公司好
  • 自己做的网站怎么发布到网上wordpress 加密
  • 建网站业务如何开展拖拽建站模板
  • 兰州网站seo优化闸北区网站建设
  • 市场体系建设司在官方网站营销型制作网站公司
  • 路由器设置网站济南网站制作建设
  • 网站设计制作音乐排行榜wordpress中文竖排
  • 深圳网站制作十年乐云seo品牌网络推广是做什么工作的
  • 做房地产行业的怎么做网站北京装饰公司排名
  • 免费网站建设培训班科技设计网站建设
  • 个人网站设计论文范文jsp网站 自动发送邮件
  • 开发技术网站开发技术江苏网站建设
  • cms建站系统免费电商初学者
  • 企业营销系统和网站建设小破站下载
  • WordPress如何设置站点名称vi品牌形象设计案例
  • 电商网站需要哪些备案wecenter整合Wordpress
  • 宣传页在线设计软件网站优化培训班
  • 哪个网站推广产品好附近电脑培训学校
  • 网站百度关键词seo排名优化公司微网站建设价格
  • 单页面网站怎么优化房地产开发资质需要什么条件
  • 西安网站 技术支持牛商网企业网站自己怎么做
  • 网站数据库如何备份石家庄网站设计
  • 分销网站制作条件客户管理软件有哪些
  • 云南网站seo外包海珠一站式网站建设
  • 中国空间站建造完成遵义做网站 0852t
  • 北京网站制作的公司做视频网站公司要怎么做
  • 在阿里云备案网站通过做网站需要数据储存么