cv2 人脸识别

照片识别

导包
import cv2
import sys
import importlib

#入门图片操作方法
def test_base(self):
cv2 = self.cv2
#读图
img = cv2.imread("./love.jpg")
#创建并展示图片
cv2.namedWindow(‘Image’)
#显示图片
cv2.imshow(‘Image’,img)
#延迟窗口显示时间
cv2.waitKey(0)
#释放窗口
cv2.destroyAllWindows()

#图片操作方法
def test_do_img(self):
cv2 = self.cv2
#读取原图
img = cv2.imread(’./love.jpg’)

#降噪操作
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

#改变图片尺寸
img_copy = cv2.resize(gray,(600,600))

#写入新图
cv2.imwrite(‘love2.jpg’,img_copy)

#压缩图片 压缩jpg 阈值范围 是0-100
cv2.imwrite(‘love2.jpg’,img,[int(cv2.IMWRITE_JPEG_QUALITY),20])
#显示图片
cv2.imshow(‘Image’,img_copy)

#延迟窗口
cv2.waitKey(0)

#释放窗口
cv2.destroyAllWindows()

视频
import cv2
import sys
import importlib

#重置系统模块
importlib.reload(sys)

class 类 定义图像类
class TestCv2(object):
def init(self,cv2):
self.cv2 = cv2
声明初始化 cv2模块
cv2.namedWindow(“shibie”)
#1调用摄像头
cap=cv2.VideoCapture(0)
#2人脸识别器分类器 里面有很多种
classfier=cv2.CascadeClassifier(‘C:/Users/ww/AppData/Local/Programs/Python/Python37/Lib/site-packages/cv2/data/haarcascade_frontalface_default.xml’)

while cap.isOpened():
ok,frame=cap.read() #读取一帧数据
if not ok:
break

#2灰度转换
grey=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)

#人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数
faceRects = classfier.detectMultiScale(grey, scaleFactor = 1.2, minNeighbors = 3, minSize = (32, 32))
classfier.detectMultiScale()即是完成实际人脸识别工作的函数,该函数参数说明如下:
grey:要识别的图像数据(即使不转换成灰度也能识别,但是灰度图可以降低计算强度,因为检测的依据是哈尔特征,转换后每个点的RGB数据变成了一维的灰度,这样计算强度就减少很多)
scaleFactor:图像缩放比例,可以理解为同一个物体与相机距离不同,其大小亦不同,必须将其缩放到一定大小才方便识别,该参数指定每次缩放的比例

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值