猫脸识别

猫脸识别

# -*- coding: utf-8 -*-  指定路径版本
"""
猫脸检测
"""
import cv2
# 加载猫脸检测器(方案一)
#classPath = 'C:\\Users\\Administrator\\Anaconda3\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalcatface.xml'
#face_cascade=cv2.CascadeClassifier(classPath)

#加载猫脸检测器(方案二)
faceCascade = cv2.CascadeClassifier("haarcascade_frontalcatface.xml")#官网提供的github中data下相关分类器
# 读取图片并灰度化
img = cv2.imread('C:\\Users\\Administrator\\Desktop\\face\\cat5.jpg')

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 框出猫脸并加上文字说明
faces = face_cascade.detectMultiScale(
    gray,
    scaleFactor= 1.02,
    minNeighbors=5,
    minSize=(120, 120),
    flags=cv2.CASCADE_SCALE_IMAGE
) 
for (x, y, w, h) in faces:
   cv2.rectangle(img, (x, y), (x+w, y+h), (0, 0, 255), 2)
   cv2.putText(img,'Cat Face',(x,y-7), 3, 1.2, (0, 255, 0), 2, cv2.LINE_AA)

cv2.imshow('Cat?', img)
cv2.imwrite("C:\\Users\\Administrator\\Desktop\\face\\cat1-out.jpg",img)
c = cv2.waitKey(0)

踩坑记:
报错,主要原因是haarcascade_frontalface_alt.xml的路径原因。可参考以下方法
https://www.wandouip.com/t5i203787/
编写人脸识别的demo,从Github上面下载了haarcascade_frontalface_alt.xml放在了我的桌面,编译一直出问题,后来才发现在安装cv2这个模块的时候,会在你python安装路径下面生成”E:\Python37\Lib\site-packages\cv2\data“,在这个路径下面就有haarcascade_frontalface_alt.xml,
只需要
face=cv2.CascadeClassifier(r’C:\Users\HongXiangWang\Desktop\haarcascade_frontalface_alt.xml’)
改成
face = cv2.CascadeClassifier(r’E:\Python37\Lib\site-packages\cv2\data\haarcascade_frontalface_alt.xml’)
就可以成功运行。

附:不用指定路径的版本

# -*- coding=utf-8 -*-  不指定路径版本
import cv2
faceCascade = cv2.CascadeClassifier("haarcascade_frontalcatface.xml")#官网提供的github中data下相关分类器
img = cv2.imread("cat4.jpg")  
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(
    gray,
    scaleFactor= 1.02,
    minNeighbors=3,
    minSize=(50,50),
    flags=cv2.CASCADE_SCALE_IMAGE
)
index = 0
for (x, y, w, h) in faces:
    index += 1
    cv2.rectangle(img, (x, y), (x+w, y+h), (0, 0, 255), 2)
    cv2.putText(img,'cat#'+str(index),(x,y-7), 1, 1.0, (0, 255, 0), 1, cv2.LINE_AA)
cv2.imshow('cat', img)
#cv2.imwrite("cat_out.jpg",img)
cv2.waitKey(0)
cv2.destroyAllWindows() 

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值