喵星人真要统治世界嘛?OpenCV制作猫脸检测小程序!!

330 阅读2分钟

前文

     喵星人真的是要统治世界了。😘不然为什么OpenCV自带的检测器中除了人脸检测、行人检测这些意料之中就应该存在的检测器之外,还悄悄多出了猫脸检测器呢??!

什么是Opencv呢?

OpenCV是一个主要针对实时计算机视觉的编程函数库。 最初由英特尔开发,后来由柳树车库支持,后来由伊塞兹支持(后来被英特尔收购)。该库是跨平台的,根据开源BSD许可证免费使用。 OpenCV支持深度学习框架TensorFlow、Torch/PyTorch和Caffed...........

1.准备环境安装:

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

import cv2

然后我们将创建一个类的对象。我们将使用它来检测图像中的猫脸。作为构造函数的输入,我们需要将路径传递到我们下载的分类器文件。

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()

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

图片

代码测试效果🎃:

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

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

​​

图片

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

​                                                      (一号大美丽)

图片

​                                                    (二号布偶小团团)

图片

                                                     (三号小橘子2只)

图片

结尾

​好啦!喵星人就欣赏到这里咧。🎈🎈🎈🎈🎈🎈

嗯哼~快下班了准备回家撸猫主子去啦!