• 【CSDN传疯了】史上最强Opencv神技——带你体会AI魅力,揭秘人脸检测识别与猫脸检测技术哦~


    前言

    🚀 作者 :“程序员梨子”

    🚀 **文章简介 **:本篇文章主要是写了opencv的人脸检测、猫脸检测小程序。

    🚀 **文章源码免费获取 : 为了感谢每一个关注我的小可爱💓每篇文章的项目源码都是无

    偿分享滴💓👇



    点这里蓝色这行字体自取,需要什么源码记得说标题名字哈!私信我也可!

    🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬

    正文

    OpenCV是时下最流行的基于C++的开源计算机视觉库,它功能丰富,函数众多,从最基本的读写

    图片,到简单的图像处理(比如降噪滤波、边缘检测、图像变换、特征提取等),再到更加高级的

    行人检测、人脸识别、文本识别等,尽皆包含。在OpenCV提供的函数的基础上,我们可以很方便

    地开发自己的应用,实现自己的算法。总的来说,就是OpenCV非常强大。具体有多强大?那得用

    了才知道。今天来浅浅的给大家来两个小项目叭——人脸检测and猫脸检测👇

    一、人脸检测

    1)实现思路

    利用OpenCV的Python接口实现人脸检测的流程如下:

    • 读取图片

    • 将图片转换为灰度模式,便于人脸检测

    • 利用Haar特征检测图片中的人脸

    • 绘制人脸的矩形区域

    • 显示人脸检测后的图片

    2)代码展示

    1. # -*- coding: utf-8 -*-
    2. import cv2
    3. import logging
    4. # 设置日志
    5. logging.basicConfig(level = logging.INFO, format='%(asctime)s - %(levelname)s: %(message)s')
    6. logger = logging.getLogger(__name__)
    7. # 待检测的图片路径
    8. ImagePath = 'E://zhoujielun.jpg'
    9. # 读取图片
    10. logger.info('Reading image...')
    11. image = cv2.imread(ImagePath)
    12. # 把图片转换为灰度模式
    13. gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    14. # 探测图片中的人脸
    15. logger.info('Detect faces...')
    16. # 获取训练好的人脸的参数数据,进行人脸检测
    17. face_cascade = cv2.CascadeClassifier(r'./haarcascade_frontalface_default.xml')
    18. faces = face_cascade.detectMultiScale(gray,scaleFactor=1.15,minNeighbors=5,minSize=(3, 3))
    19. search_info = "Find %d face."%len(faces) if len(faces) <= 1 else "Find %d faces."%len(faces)
    20. logger.info(search_info)
    21. # 绘制人脸的矩形区域(红色边框)
    22. for (x, y, w, h) in faces:
    23. cv2.rectangle(image, (x,y), (x+w,y+h), (0,0,255), 2)
    24. # 显示图片
    25. cv2.imshow('Find faces!', image)
    26. cv2.waitKey(0)

    3)效果展示

    可以看到人脸检测的效果还是不错的。

    二、猫脸检测

    1)实现思路

    人脸检测、人脸识别是近来非常火的技术,那么,用来识别猫脸呢?只需要把之前代码中的模型文

    件换成haarcascade_frontalface.xml即可。

    2)代码实现

    1. # -*- coding: utf-8 -*-
    2. import cv2
    3. import logging
    4. # 设置日志
    5. logging.basicConfig(level = logging.INFO, format='%(asctime)s - %(levelname)s: %(message)s')
    6. logger = logging.getLogger(__name__)
    7. # 待检测的图片路径
    8. ImagePath = 'E://cat.jpg'
    9. # 读取图片
    10. logger.info('Reading image...')
    11. image = cv2.imread(ImagePath)
    12. # 把图片转换为灰度模式
    13. gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    14. # 探测图片中的人脸
    15. logger.info('Detect faces...')
    16. # 获取训练好的人脸的参数数据,进行人脸检测
    17. face_cascade = cv2.CascadeClassifier(r'./haarcascade_frontalcatface.xml')
    18. faces = face_cascade.detectMultiScale(gray,scaleFactor=1.15,minNeighbors=5,minSize=(3, 3))
    19. search_info = "Find %d face."%len(faces) if len(faces) <= 1 else "Find %d faces."%len(faces)
    20. logger.info(search_info)
    21. # 绘制人脸的矩形区域(红色边框)
    22. for (x, y, w, h) in faces:
    23. cv2.rectangle(image, (x,y), (x+w,y+h), (0,0,255), 2)
    24. # 显示图片
    25. cv2.imshow('Find faces!', image)
    26. cv2.waitKey(0)

    3)效果展示

    怎么样,是不是感觉萌萌的?

    总结

    本文主要介绍了OpenCV在人脸检测和猫脸检测方面的应用,并且给出了具体的Python代码。

    那么,能检测人脸和猫脸,我们又能做些什么呢?其实,我们如果继续探究下去,可以做不少的事

    情,比如结合深度学习的模型,比如CNN等,可以实现人脸识别啊,物体检测,自动给图像打标

    签等,欢迎大家交流~

    安啦!文章就写到这里,你们的支持是我最大的动力,记得三连哦!

    关注小编获取更多精彩内容!记得点击传送门哈👇👇👇👇👇👇

     记得三连哦! 如需打包好的完整源码+素材免费分享滴!!传送门

  • 相关阅读:
    Python使用SQLAlchemy操作sqlite
    Flutter 全能型选手GetX —— 状态管理
    Frontiers | 北林邬荣领/何晓青-网络作图揭示拟南芥与叶际微生物组互作机制
    航模模拟器(加密狗)
    socket编程之常用api介绍与socket、select、poll、epoll高并发服务器模型代码实现
    制造业数字化系统国产替代如何做?
    哪个牌子的台灯对孩子的视力好?对孩子视力好的台灯推荐分享
    蓝桥杯-平方和(599)
    mTLS: openssl创建CA证书
    Pytorch 多卡并行(3)—— 使用 DDP 加速 minGPT 训练
  • 原文地址:https://blog.csdn.net/TZ45678/article/details/126322235