本文,用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
卡通猫与真实的猫,还是区别很大的。
上一篇:战舰少女r最新活动攻略