多语言展示
当前在线:953今日阅读:26今日分享:39

用opencv-contrib-python检测猫脸

本文,用opencv自带的猫脸检测训练集,来训练一个猫脸检测器,检测图片中的猫脸。
工具/原料
1

电脑

2

python3.6(anaconda)

3

opencv-contrib-python模块

方法/步骤
1

安装opencv-contrib-python,可以参考《怎么为python安装新版的opencv模块?》然后在模块安装目录里面,找到训练集,写出训练集的绝对路径:xlj = r'C:\Users\Administrator\Anaconda3\Lib\site-packages\cv2\data\haarcascade_frontalcatface.xml'

2

用训练集训练一个检测器:import cv2jcq = cv2.CascadeClassifier(xlj)

3

给出一张猫。

4

读取猫,并转化为灰度图:img = cv2.imread('0.jpg')gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)检测猫脸:fs = jcq.detectMultiScale(        gray,        scaleFactor=1.02,        minNeighbors=3,        minSize=(150,150),        flags=cv2.CASCADE_SCALE_IMAGE)

5

在图中标注出检测结果:for (x,y,w,h) in fs:    cv2.rectangle(img,(x,y),(x+w,y+h),(0,100,0),2)    cv2.putText(img,'CAT',(x,y-7),3,1.2,(100,0,0),2,cv2.LINE_AA)

6

给出多个猫,检测效果如下——猫腿。

7

有时候还能检测到龙猫。

8

人和猫在一起。

9

别的猫科动物。

10

猫和狗。

11

卡通猫与真实的猫,还是区别很大的。

推荐信息