栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

我家猫老喜欢和我躲猫猫,我用Python赶忙写了个猫脸检测器。在哪里都逃不出我的手心。

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我家猫老喜欢和我躲猫猫,我用Python赶忙写了个猫脸检测器。在哪里都逃不出我的手心。

 前言

     喵星人真的是要统治世界了。不然为什么OpenCV自带的检测器中除了人脸检测、行人检测

这些意料之中就应该存在的检测器之外,还悄悄多出了猫脸检测器呢??!快来吸猫吸猫了。

什么是Opencv呢?

OpenCV是一个主要针对实时计算机视觉的编程函数库。 最初由英特尔开发,后来由柳树车库支

持,后来由伊塞兹支持(后来被英特尔收购)。该库是跨平台的,根据开源BSD许可证免费使用。

OpenCV支持深度学习框架TensorFlow、Torch/PyTorch和Caffed...........

Show Time Nov  1)背景环境

我们将从导入CV2模块开始。

import cv2
Nov  2)步骤

然后我们将创建一个类的对象。我们将使用它来检测图像中的猫脸。作为构造函数的输入,我们需

要将路径传递到我们下载的分类器文件。

catFaceCascade = cv2.CascadeClassifier('C:/Users/N/Desktop/haarcascade_frontalcatface.xml')

在此之后,我们将从文件系统读取图像。这是通过调用未读函数的CV2模块,作为输入传递到图像的路径,作为字符串传递。当然,这就是我们想要找到猫脸的图像。

image = cv2.imread('C:/Users/N/Desktop/test.jpg')

完整的代码如下所示:

import cv2

catFaceCascade = cv2.CascadeClassifier('C:/Users/N/Desktop/haarcascade_frontalcatface.xml')

image = cv2.imread('C:/Users/N/Desktop/test.jpg')

faces = catFaceCascade.detectMultiScale(image)

if len(faces) == 0:
    print("No faces found")

else:
    print("Number of faces detected: " + str(faces.shape[0]))

    for (x, y, w, h) in faces:
        cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0))

    cv2.imshow('Image with faces', image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
Nov  3) ​效果如下

我们选择这位颜值高的喵星人:

代码测试效果:

要测试代码,只需使用您选择的工具运行它。

我正在使用PyCharm,一个PythonIDE。检测到了可爱的小猫咪。

我们再来看看其它喵星人 :   

                                                  (一号出场——在桌子地下还能发现我)                                          

​                                                    (二号出场——主人在干什么我偷偷来看看)

                                                      (三号——这么萌的双胞胎你爱了吗)

小结

​好了!喵星人就欣赏到这里。你家也养猫嘛?

粉丝交流
欢迎关注、收藏、有所收获点赞支持一下!

完整项目源代码点这里即可https://jq.qq.com/?_wv=1027&k=DlE6xiES

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/587402.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号