我家猫老喜欢和我躲猫猫,我用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。检测到了可爱的小猫咪。

图片

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

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

图片

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

图片

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

图片

小结

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

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

完整项目源代码点这里即可icon-default.png?t=LA92https://jq.qq.com/?_wv=1027&k=DlE6xiES

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>